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/08 17:54:31 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 9bc06f81c -> 670bf1f09


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
index ecfe80a..a964a06 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.580">PerformanceEvaluation.TestOptions</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.595">PerformanceEvaluation.TestOptions</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">Wraps up options passed to <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><code>PerformanceEvaluation</code></a>.
  This makes tracking all these arguments a little easier.
@@ -621,7 +621,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cmdName</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.581">cmdName</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.596">cmdName</a></pre>
 </li>
 </ul>
 <a name="nomapred">
@@ -630,7 +630,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nomapred</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.582">nomapred</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.597">nomapred</a></pre>
 </li>
 </ul>
 <a name="filterAll">
@@ -639,7 +639,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>filterAll</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.583">filterAll</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.598">filterAll</a></pre>
 </li>
 </ul>
 <a name="startRow">
@@ -648,7 +648,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startRow</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.584">startRow</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.599">startRow</a></pre>
 </li>
 </ul>
 <a name="size">
@@ -657,7 +657,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.585">size</a></pre>
+<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.600">size</a></pre>
 </li>
 </ul>
 <a name="perClientRunRows">
@@ -666,7 +666,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>perClientRunRows</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.586">perClientRunRows</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.601">perClientRunRows</a></pre>
 </li>
 </ul>
 <a name="numClientThreads">
@@ -675,7 +675,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>numClientThreads</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.587">numClientThreads</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.602">numClientThreads</a></pre>
 </li>
 </ul>
 <a name="totalRows">
@@ -684,7 +684,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>totalRows</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.588">totalRows</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.603">totalRows</a></pre>
 </li>
 </ul>
 <a name="measureAfter">
@@ -693,7 +693,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>measureAfter</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.589">measureAfter</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.604">measureAfter</a></pre>
 </li>
 </ul>
 <a name="sampleRate">
@@ -702,7 +702,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>sampleRate</h4>
-<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.590">sampleRate</a></pre>
+<pre>float <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.605">sampleRate</a></pre>
 </li>
 </ul>
 <a name="traceRate">
@@ -711,7 +711,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>traceRate</h4>
-<pre>double <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.591">traceRate</a></pre>
+<pre>double <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.606">traceRate</a></pre>
 </li>
 </ul>
 <a name="tableName">
@@ -720,7 +720,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tableName</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.592">tableName</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.607">tableName</a></pre>
 </li>
 </ul>
 <a name="flushCommits">
@@ -729,7 +729,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>flushCommits</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.593">flushCommits</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.608">flushCommits</a></pre>
 </li>
 </ul>
 <a name="writeToWAL">
@@ -738,7 +738,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeToWAL</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.594">writeToWAL</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.609">writeToWAL</a></pre>
 </li>
 </ul>
 <a name="autoFlush">
@@ -747,7 +747,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>autoFlush</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.595">autoFlush</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.610">autoFlush</a></pre>
 </li>
 </ul>
 <a name="oneCon">
@@ -756,7 +756,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>oneCon</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.596">oneCon</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.611">oneCon</a></pre>
 </li>
 </ul>
 <a name="useTags">
@@ -765,7 +765,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>useTags</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.597">useTags</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.612">useTags</a></pre>
 </li>
 </ul>
 <a name="noOfTags">
@@ -774,7 +774,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>noOfTags</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.598">noOfTags</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.613">noOfTags</a></pre>
 </li>
 </ul>
 <a name="reportLatency">
@@ -783,7 +783,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reportLatency</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.599">reportLatency</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.614">reportLatency</a></pre>
 </li>
 </ul>
 <a name="multiGet">
@@ -792,7 +792,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>multiGet</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.600">multiGet</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.615">multiGet</a></pre>
 </li>
 </ul>
 <a name="randomSleep">
@@ -801,7 +801,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>randomSleep</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.601">randomSleep</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.616">randomSleep</a></pre>
 </li>
 </ul>
 <a name="inMemoryCF">
@@ -810,7 +810,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>inMemoryCF</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.602">inMemoryCF</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.617">inMemoryCF</a></pre>
 </li>
 </ul>
 <a name="presplitRegions">
@@ -819,7 +819,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>presplitRegions</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.603">presplitRegions</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.618">presplitRegions</a></pre>
 </li>
 </ul>
 <a name="replicas">
@@ -828,7 +828,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>replicas</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.604">replicas</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.619">replicas</a></pre>
 </li>
 </ul>
 <a name="splitPolicy">
@@ -837,7 +837,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>splitPolicy</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.605">splitPolicy</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.620">splitPolicy</a></pre>
 </li>
 </ul>
 <a name="compression">
@@ -846,7 +846,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compression</h4>
-<pre>org.apache.hadoop.hbase.io.compress.Compression.Algorithm <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.606">compression</a></pre>
+<pre>org.apache.hadoop.hbase.io.compress.Compression.Algorithm <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.621">compression</a></pre>
 </li>
 </ul>
 <a name="bloomType">
@@ -855,7 +855,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>bloomType</h4>
-<pre>org.apache.hadoop.hbase.regionserver.BloomType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.607">bloomType</a></pre>
+<pre>org.apache.hadoop.hbase.regionserver.BloomType <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.622">bloomType</a></pre>
 </li>
 </ul>
 <a name="blockEncoding">
@@ -864,7 +864,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>blockEncoding</h4>
-<pre>org.apache.hadoop.hbase.io.encoding.DataBlockEncoding <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.608">blockEncoding</a></pre>
+<pre>org.apache.hadoop.hbase.io.encoding.DataBlockEncoding <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.623">blockEncoding</a></pre>
 </li>
 </ul>
 <a name="valueRandom">
@@ -873,7 +873,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>valueRandom</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.609">valueRandom</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.624">valueRandom</a></pre>
 </li>
 </ul>
 <a name="valueZipf">
@@ -882,7 +882,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>valueZipf</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.610">valueZipf</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.625">valueZipf</a></pre>
 </li>
 </ul>
 <a name="valueSize">
@@ -891,7 +891,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>valueSize</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.611">valueSize</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.626">valueSize</a></pre>
 </li>
 </ul>
 <a name="period">
@@ -900,7 +900,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>period</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.612">period</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.627">period</a></pre>
 </li>
 </ul>
 <a name="cycles">
@@ -909,7 +909,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cycles</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.613">cycles</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.628">cycles</a></pre>
 </li>
 </ul>
 <a name="columns">
@@ -918,7 +918,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>columns</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.614">columns</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.629">columns</a></pre>
 </li>
 </ul>
 <a name="caching">
@@ -927,7 +927,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>caching</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.615">caching</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.630">caching</a></pre>
 </li>
 </ul>
 <a name="addColumns">
@@ -936,7 +936,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>addColumns</h4>
-<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.616">addColumns</a></pre>
+<pre>boolean <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.631">addColumns</a></pre>
 </li>
 </ul>
 </li>
@@ -953,7 +953,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>PerformanceEvaluation.TestOptions</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.618">PerformanceEvaluation.TestOptions</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.633">PerformanceEvaluation.TestOptions</a>()</pre>
 </li>
 </ul>
 <a name="PerformanceEvaluation.TestOptions(org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions)">
@@ -962,7 +962,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.TestOptions</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.624">PerformanceEvaluation.TestOptions</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;that)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.639">PerformanceEvaluation.TestOptions</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;that)</pre>
 <div class="block">Clone constructor.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>that</code> - Object to copy from.</dd></dl>
 </li>
@@ -981,7 +981,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCaching</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.663">getCaching</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.678">getCaching</a>()</pre>
 </li>
 </ul>
 <a name="setCaching(int)">
@@ -990,7 +990,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setCaching</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.667">setCaching</a>(int&nbsp;caching)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.682">setCaching</a>(int&nbsp;caching)</pre>
 </li>
 </ul>
 <a name="getColumns()">
@@ -999,7 +999,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getColumns</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.671">getColumns</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.686">getColumns</a>()</pre>
 </li>
 </ul>
 <a name="setColumns(int)">
@@ -1008,7 +1008,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setColumns</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.675">setColumns</a>(int&nbsp;columns)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.690">setColumns</a>(int&nbsp;columns)</pre>
 </li>
 </ul>
 <a name="getCycles()">
@@ -1017,7 +1017,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCycles</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.679">getCycles</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.694">getCycles</a>()</pre>
 </li>
 </ul>
 <a name="setCycles(int)">
@@ -1026,7 +1026,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setCycles</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.683">setCycles</a>(int&nbsp;cycles)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.698">setCycles</a>(int&nbsp;cycles)</pre>
 </li>
 </ul>
 <a name="isValueZipf()">
@@ -1035,7 +1035,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isValueZipf</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.687">isValueZipf</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.702">isValueZipf</a>()</pre>
 </li>
 </ul>
 <a name="setValueZipf(boolean)">
@@ -1044,7 +1044,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueZipf</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.691">setValueZipf</a>(boolean&nbsp;valueZipf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.706">setValueZipf</a>(boolean&nbsp;valueZipf)</pre>
 </li>
 </ul>
 <a name="getCmdName()">
@@ -1053,7 +1053,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCmdName</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/PerformanceEvaluation.TestOptions.html#line.695">getCmdName</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/PerformanceEvaluation.TestOptions.html#line.710">getCmdName</a>()</pre>
 </li>
 </ul>
 <a name="setCmdName(java.lang.String)">
@@ -1062,7 +1062,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setCmdName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.699">setCmdName</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;cmdName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.714">setCmdName</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;cmdName)</pre>
 </li>
 </ul>
 <a name="getRandomSleep()">
@@ -1071,7 +1071,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRandomSleep</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.703">getRandomSleep</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.718">getRandomSleep</a>()</pre>
 </li>
 </ul>
 <a name="setRandomSleep(int)">
@@ -1080,7 +1080,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setRandomSleep</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.707">setRandomSleep</a>(int&nbsp;randomSleep)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.722">setRandomSleep</a>(int&nbsp;randomSleep)</pre>
 </li>
 </ul>
 <a name="getReplicas()">
@@ -1089,7 +1089,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicas</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.711">getReplicas</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.726">getReplicas</a>()</pre>
 </li>
 </ul>
 <a name="setReplicas(int)">
@@ -1098,7 +1098,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setReplicas</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.715">setReplicas</a>(int&nbsp;replicas)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.730">setReplicas</a>(int&nbsp;replicas)</pre>
 </li>
 </ul>
 <a name="getSplitPolicy()">
@@ -1107,7 +1107,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPolicy</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/PerformanceEvaluation.TestOptions.html#line.719">getSplitPolicy</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/PerformanceEvaluation.TestOptions.html#line.734">getSplitPolicy</a>()</pre>
 </li>
 </ul>
 <a name="setSplitPolicy(java.lang.String)">
@@ -1116,7 +1116,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setSplitPolicy</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.723">setSplitPolicy</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;splitPolicy)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.738">setSplitPolicy</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;splitPolicy)</pre>
 </li>
 </ul>
 <a name="setNomapred(boolean)">
@@ -1125,7 +1125,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setNomapred</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.727">setNomapred</a>(boolean&nbsp;nomapred)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.742">setNomapred</a>(boolean&nbsp;nomapred)</pre>
 </li>
 </ul>
 <a name="setFilterAll(boolean)">
@@ -1134,7 +1134,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setFilterAll</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.731">setFilterAll</a>(boolean&nbsp;filterAll)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.746">setFilterAll</a>(boolean&nbsp;filterAll)</pre>
 </li>
 </ul>
 <a name="setStartRow(int)">
@@ -1143,7 +1143,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setStartRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.735">setStartRow</a>(int&nbsp;startRow)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.750">setStartRow</a>(int&nbsp;startRow)</pre>
 </li>
 </ul>
 <a name="setSize(float)">
@@ -1152,7 +1152,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.739">setSize</a>(float&nbsp;size)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.754">setSize</a>(float&nbsp;size)</pre>
 </li>
 </ul>
 <a name="setPerClientRunRows(int)">
@@ -1161,7 +1161,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setPerClientRunRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.743">setPerClientRunRows</a>(int&nbsp;perClientRunRows)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.758">setPerClientRunRows</a>(int&nbsp;perClientRunRows)</pre>
 </li>
 </ul>
 <a name="setNumClientThreads(int)">
@@ -1170,7 +1170,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setNumClientThreads</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.747">setNumClientThreads</a>(int&nbsp;numClientThreads)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.762">setNumClientThreads</a>(int&nbsp;numClientThreads)</pre>
 </li>
 </ul>
 <a name="setTotalRows(int)">
@@ -1179,7 +1179,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setTotalRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.751">setTotalRows</a>(int&nbsp;totalRows)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.766">setTotalRows</a>(int&nbsp;totalRows)</pre>
 </li>
 </ul>
 <a name="setSampleRate(float)">
@@ -1188,7 +1188,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setSampleRate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.755">setSampleRate</a>(float&nbsp;sampleRate)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.770">setSampleRate</a>(float&nbsp;sampleRate)</pre>
 </li>
 </ul>
 <a name="setTraceRate(double)">
@@ -1197,7 +1197,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setTraceRate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.759">setTraceRate</a>(double&nbsp;traceRate)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.774">setTraceRate</a>(double&nbsp;traceRate)</pre>
 </li>
 </ul>
 <a name="setTableName(java.lang.String)">
@@ -1206,7 +1206,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.763">setTableName</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;tableName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.778">setTableName</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;tableName)</pre>
 </li>
 </ul>
 <a name="setFlushCommits(boolean)">
@@ -1215,7 +1215,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setFlushCommits</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.767">setFlushCommits</a>(boolean&nbsp;flushCommits)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.782">setFlushCommits</a>(boolean&nbsp;flushCommits)</pre>
 </li>
 </ul>
 <a name="setWriteToWAL(boolean)">
@@ -1224,7 +1224,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setWriteToWAL</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.771">setWriteToWAL</a>(boolean&nbsp;writeToWAL)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.786">setWriteToWAL</a>(boolean&nbsp;writeToWAL)</pre>
 </li>
 </ul>
 <a name="setAutoFlush(boolean)">
@@ -1233,7 +1233,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setAutoFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.775">setAutoFlush</a>(boolean&nbsp;autoFlush)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.790">setAutoFlush</a>(boolean&nbsp;autoFlush)</pre>
 </li>
 </ul>
 <a name="setOneCon(boolean)">
@@ -1242,7 +1242,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setOneCon</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.779">setOneCon</a>(boolean&nbsp;oneCon)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.794">setOneCon</a>(boolean&nbsp;oneCon)</pre>
 </li>
 </ul>
 <a name="setUseTags(boolean)">
@@ -1251,7 +1251,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setUseTags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.783">setUseTags</a>(boolean&nbsp;useTags)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.798">setUseTags</a>(boolean&nbsp;useTags)</pre>
 </li>
 </ul>
 <a name="setNoOfTags(int)">
@@ -1260,7 +1260,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setNoOfTags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.787">setNoOfTags</a>(int&nbsp;noOfTags)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.802">setNoOfTags</a>(int&nbsp;noOfTags)</pre>
 </li>
 </ul>
 <a name="setReportLatency(boolean)">
@@ -1269,7 +1269,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setReportLatency</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.791">setReportLatency</a>(boolean&nbsp;reportLatency)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.806">setReportLatency</a>(boolean&nbsp;reportLatency)</pre>
 </li>
 </ul>
 <a name="setMultiGet(int)">
@@ -1278,7 +1278,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setMultiGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.795">setMultiGet</a>(int&nbsp;multiGet)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.810">setMultiGet</a>(int&nbsp;multiGet)</pre>
 </li>
 </ul>
 <a name="setInMemoryCF(boolean)">
@@ -1287,7 +1287,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setInMemoryCF</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.799">setInMemoryCF</a>(boolean&nbsp;inMemoryCF)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.814">setInMemoryCF</a>(boolean&nbsp;inMemoryCF)</pre>
 </li>
 </ul>
 <a name="setPresplitRegions(int)">
@@ -1296,7 +1296,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setPresplitRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.803">setPresplitRegions</a>(int&nbsp;presplitRegions)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.818">setPresplitRegions</a>(int&nbsp;presplitRegions)</pre>
 </li>
 </ul>
 <a name="setCompression(org.apache.hadoop.hbase.io.compress.Compression.Algorithm)">
@@ -1305,7 +1305,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompression</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.807">setCompression</a>(org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.822">setCompression</a>(org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression)</pre>
 </li>
 </ul>
 <a name="setBloomType(org.apache.hadoop.hbase.regionserver.BloomType)">
@@ -1314,7 +1314,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setBloomType</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.811">setBloomType</a>(org.apache.hadoop.hbase.regionserver.BloomType&nbsp;bloomType)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.826">setBloomType</a>(org.apache.hadoop.hbase.regionserver.BloomType&nbsp;bloomType)</pre>
 </li>
 </ul>
 <a name="setBlockEncoding(org.apache.hadoop.hbase.io.encoding.DataBlockEncoding)">
@@ -1323,7 +1323,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setBlockEncoding</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.815">setBlockEncoding</a>(org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;blockEncoding)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.830">setBlockEncoding</a>(org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;blockEncoding)</pre>
 </li>
 </ul>
 <a name="setValueRandom(boolean)">
@@ -1332,7 +1332,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueRandom</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.819">setValueRandom</a>(boolean&nbsp;valueRandom)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.834">setValueRandom</a>(boolean&nbsp;valueRandom)</pre>
 </li>
 </ul>
 <a name="setValueSize(int)">
@@ -1341,7 +1341,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setValueSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.823">setValueSize</a>(int&nbsp;valueSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.838">setValueSize</a>(int&nbsp;valueSize)</pre>
 </li>
 </ul>
 <a name="setPeriod(int)">
@@ -1350,7 +1350,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setPeriod</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.827">setPeriod</a>(int&nbsp;period)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.842">setPeriod</a>(int&nbsp;period)</pre>
 </li>
 </ul>
 <a name="isNomapred()">
@@ -1359,7 +1359,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isNomapred</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.831">isNomapred</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.846">isNomapred</a>()</pre>
 </li>
 </ul>
 <a name="isFilterAll()">
@@ -1368,7 +1368,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isFilterAll</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.835">isFilterAll</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.850">isFilterAll</a>()</pre>
 </li>
 </ul>
 <a name="getStartRow()">
@@ -1377,7 +1377,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartRow</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.839">getStartRow</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.854">getStartRow</a>()</pre>
 </li>
 </ul>
 <a name="getSize()">
@@ -1386,7 +1386,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSize</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.843">getSize</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.858">getSize</a>()</pre>
 </li>
 </ul>
 <a name="getPerClientRunRows()">
@@ -1395,7 +1395,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getPerClientRunRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.847">getPerClientRunRows</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.862">getPerClientRunRows</a>()</pre>
 </li>
 </ul>
 <a name="getNumClientThreads()">
@@ -1404,7 +1404,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumClientThreads</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.851">getNumClientThreads</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.866">getNumClientThreads</a>()</pre>
 </li>
 </ul>
 <a name="getTotalRows()">
@@ -1413,7 +1413,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.855">getTotalRows</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.870">getTotalRows</a>()</pre>
 </li>
 </ul>
 <a name="getSampleRate()">
@@ -1422,7 +1422,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSampleRate</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.859">getSampleRate</a>()</pre>
+<pre>public&nbsp;float&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.874">getSampleRate</a>()</pre>
 </li>
 </ul>
 <a name="getTraceRate()">
@@ -1431,7 +1431,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTraceRate</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.863">getTraceRate</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.878">getTraceRate</a>()</pre>
 </li>
 </ul>
 <a name="getTableName()">
@@ -1440,7 +1440,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableName</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/PerformanceEvaluation.TestOptions.html#line.867">getTableName</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/PerformanceEvaluation.TestOptions.html#line.882">getTableName</a>()</pre>
 </li>
 </ul>
 <a name="isFlushCommits()">
@@ -1449,7 +1449,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushCommits</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.871">isFlushCommits</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.886">isFlushCommits</a>()</pre>
 </li>
 </ul>
 <a name="isWriteToWAL()">
@@ -1458,7 +1458,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isWriteToWAL</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.875">isWriteToWAL</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.890">isWriteToWAL</a>()</pre>
 </li>
 </ul>
 <a name="isAutoFlush()">
@@ -1467,7 +1467,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isAutoFlush</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.879">isAutoFlush</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.894">isAutoFlush</a>()</pre>
 </li>
 </ul>
 <a name="isUseTags()">
@@ -1476,7 +1476,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isUseTags</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.883">isUseTags</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.898">isUseTags</a>()</pre>
 </li>
 </ul>
 <a name="getNoOfTags()">
@@ -1485,7 +1485,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNoOfTags</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.887">getNoOfTags</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.902">getNoOfTags</a>()</pre>
 </li>
 </ul>
 <a name="isReportLatency()">
@@ -1494,7 +1494,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isReportLatency</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.891">isReportLatency</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.906">isReportLatency</a>()</pre>
 </li>
 </ul>
 <a name="getMultiGet()">
@@ -1503,7 +1503,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMultiGet</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.895">getMultiGet</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.910">getMultiGet</a>()</pre>
 </li>
 </ul>
 <a name="isInMemoryCF()">
@@ -1512,7 +1512,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isInMemoryCF</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.899">isInMemoryCF</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.914">isInMemoryCF</a>()</pre>
 </li>
 </ul>
 <a name="getPresplitRegions()">
@@ -1521,7 +1521,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getPresplitRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.903">getPresplitRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.918">getPresplitRegions</a>()</pre>
 </li>
 </ul>
 <a name="getCompression()">
@@ -1530,7 +1530,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompression</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.907">getCompression</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.922">getCompression</a>()</pre>
 </li>
 </ul>
 <a name="getBlockEncoding()">
@@ -1539,7 +1539,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockEncoding</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.911">getBlockEncoding</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.io.encoding.DataBlockEncoding&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.926">getBlockEncoding</a>()</pre>
 </li>
 </ul>
 <a name="isValueRandom()">
@@ -1548,7 +1548,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isValueRandom</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.915">isValueRandom</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.930">isValueRandom</a>()</pre>
 </li>
 </ul>
 <a name="getValueSize()">
@@ -1557,7 +1557,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueSize</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.919">getValueSize</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.934">getValueSize</a>()</pre>
 </li>
 </ul>
 <a name="getPeriod()">
@@ -1566,7 +1566,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getPeriod</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.923">getPeriod</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.938">getPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getBloomType()">
@@ -1575,7 +1575,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getBloomType</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.BloomType&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.927">getBloomType</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.BloomType&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.942">getBloomType</a>()</pre>
 </li>
 </ul>
 <a name="isOneCon()">
@@ -1584,7 +1584,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isOneCon</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.931">isOneCon</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.946">isOneCon</a>()</pre>
 </li>
 </ul>
 <a name="getMeasureAfter()">
@@ -1593,7 +1593,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMeasureAfter</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.935">getMeasureAfter</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.950">getMeasureAfter</a>()</pre>
 </li>
 </ul>
 <a name="setMeasureAfter(int)">
@@ -1602,7 +1602,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setMeasureAfter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.939">setMeasureAfter</a>(int&nbsp;measureAfter)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.954">setMeasureAfter</a>(int&nbsp;measureAfter)</pre>
 </li>
 </ul>
 <a name="getAddColumns()">
@@ -1611,7 +1611,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getAddColumns</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.943">getAddColumns</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.958">getAddColumns</a>()</pre>
 </li>
 </ul>
 <a name="setAddColumns(boolean)">
@@ -1620,7 +1620,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setAddColumns</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.947">setAddColumns</a>(boolean&nbsp;addColumns)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#line.962">setAddColumns</a>(boolean&nbsp;addColumns)</pre>
 </li>
 </ul>
 </li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306</span>         

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index ace1bbe..f2a2906 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -134,7 +134,6 @@
 <li><a href="org/apache/hadoop/hbase/util/HFileTestUtil.html" title="class in org.apache.hadoop.hbase.util" target="classFrame">HFileTestUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/HTestConst.html" title="class in org.apache.hadoop.hbase" target="classFrame">HTestConst</a></li>
 <li><a href="org/apache/hadoop/hbase/http/HttpServerFunctionalTest.html" title="class in org.apache.hadoop.hbase.http" target="classFrame">HttpServerFunctionalTest</a></li>
-<li><a href="org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">IncrementPerformanceTest</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/InstrumentedLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">InstrumentedLogWriter</a></li>
 <li><a href="org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase" target="classFrame">IntegrationTestAcidGuarantees</a></li>
 <li><a href="org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase" target="classFrame">IntegrationTestBase</a></li>
@@ -318,8 +317,13 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/OOMERegionServer.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">OOMERegionServer</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.AppendTest</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.BufferedMutatorTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.BufferedMutatorTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.CASTableTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.CheckAndDeleteTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.CheckAndMutateTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.CheckAndPutTest</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.CmdDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.CmdDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.Counter</a></li>
@@ -328,6 +332,7 @@
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.EvaluationMapTask</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.FilteredScanTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.FilteredScanTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase" target="classFrame">PerformanceEvaluation.IncrementTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputFormat.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.PeInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputFormat.PeRecordReader.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.PeInputFormat.PeRecordReader</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputSplit.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">PerformanceEvaluation.PeInputSplit</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index a587667..ebad9fd 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -134,7 +134,6 @@
 <li><a href="org/apache/hadoop/hbase/util/HFileTestUtil.html" title="class in org.apache.hadoop.hbase.util">HFileTestUtil</a></li>
 <li><a href="org/apache/hadoop/hbase/HTestConst.html" title="class in org.apache.hadoop.hbase">HTestConst</a></li>
 <li><a href="org/apache/hadoop/hbase/http/HttpServerFunctionalTest.html" title="class in org.apache.hadoop.hbase.http">HttpServerFunctionalTest</a></li>
-<li><a href="org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/InstrumentedLogWriter.html" title="class in org.apache.hadoop.hbase.regionserver.wal">InstrumentedLogWriter</a></li>
 <li><a href="org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase">IntegrationTestAcidGuarantees</a></li>
 <li><a href="org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase">IntegrationTestBase</a></li>
@@ -318,8 +317,13 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/OOMERegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">OOMERegionServer</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AppendTest</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.BufferedMutatorTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndDeleteTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndMutateTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndPutTest</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CmdDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.CmdDescriptor</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a></li>
@@ -328,6 +332,7 @@
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.EvaluationMapTask</a></li>
 <li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.FilteredScanTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.FilteredScanTest</a></li>
+<li><a href="org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.IncrementTest</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputFormat.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.PeInputFormat</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputFormat.PeRecordReader.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.PeInputFormat.PeRecordReader</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputSplit.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.PeInputSplit</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 2176c78..4f3bec3 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -376,60 +376,6 @@
 </li>
 <li class="blockList">
 <table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.COLUMN_FAMILY">
-<!--   -->
-</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/IncrementPerformanceTest.html#COLUMN_FAMILY">COLUMN_FAMILY</a></code></td>
-<td class="colLast"><code>"columnFamilyName"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.DEFAULT_INCREMENT_COUNT">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/IncrementPerformanceTest.html#DEFAULT_INCREMENT_COUNT">DEFAULT_INCREMENT_COUNT</a></code></td>
-<td class="colLast"><code>10000</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.DEFAULT_THREAD_COUNT">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/IncrementPerformanceTest.html#DEFAULT_THREAD_COUNT">DEFAULT_THREAD_COUNT</a></code></td>
-<td class="colLast"><code>80</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.INCREMENT_COUNT">
-<!--   -->
-</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/IncrementPerformanceTest.html#INCREMENT_COUNT">INCREMENT_COUNT</a></code></td>
-<td class="colLast"><code>"incrementCount"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.TABLENAME">
-<!--   -->
-</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/IncrementPerformanceTest.html#TABLENAME">TABLENAME</a></code></td>
-<td class="colLast"><code>"tableName"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.IncrementPerformanceTest.THREAD_COUNT">
-<!--   -->
-</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/IncrementPerformanceTest.html#THREAD_COUNT">THREAD_COUNT</a></code></td>
-<td class="colLast"><code>"threadCount"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase">IntegrationTestAcidGuarantees</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -5651,6 +5597,13 @@
 <td class="colLast"><code>"testRowCounter"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.TestRowCounter.TABLE_NAME_TS_RANGE">
+<!--   -->
+</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/mapreduce/TestRowCounter.html#TABLE_NAME_TS_RANGE">TABLE_NAME_TS_RANGE</a></code></td>
+<td class="colLast"><code>"testRowCounter_ts_range"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.TestRowCounter.TOTAL_ROWS">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 8961cbd..5602606 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -3711,8 +3711,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html#COLUMN_FAMILY">COLUMN_FAMILY</a></span> - Static variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestSingleColumnValueFilter.html" title="class in org.apache.hadoop.hbase.filter">TestSingleColumnValueFilter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#COLUMN_FAMILY">COLUMN_FAMILY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.html#COLUMN_FAMILY">COLUMN_FAMILY</a></span> - Static variable in class org.apache.hadoop.hbase.mapred.<a href="./org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.html" title="class in org.apache.hadoop.hbase.mapred">TestTableMapReduceUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestCompaction.html#COLUMN_FAMILY">COLUMN_FAMILY</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestCompaction.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompaction</a></dt>
@@ -4172,8 +4170,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/http/TestSSLHttpServer.html#conf">conf</a></span> - Static variable in class org.apache.hadoop.hbase.http.<a href="./org/apache/hadoop/hbase/http/TestSSLHttpServer.html" title="class in org.apache.hadoop.hbase.http">TestSSLHttpServer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.io.crypto.<a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html" title="class in org.apache.hadoop.hbase.io.crypto">TestCipherProvider.MyCipherProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.html#conf">conf</a></span> - Static variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.html" title="class in org.apache.hadoop.hbase.io.encoding">TestChangingEncoding</a></dt>
@@ -6529,8 +6525,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestingUtility.html#DEFAULT_HBASE_CLUSTER_MANAGER_CLASS">DEFAULT_HBASE_CLUSTER_MANAGER_CLASS</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestingUtility.html" title="class in org.apache.hadoop.hbase">IntegrationTestingUtility</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#DEFAULT_INCREMENT_COUNT">DEFAULT_INCREMENT_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/MultiThreadedReader.html#DEFAULT_KEY_WINDOW">DEFAULT_KEY_WINDOW</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/MultiThreadedReader.html" title="class in org.apache.hadoop.hbase.util">MultiThreadedReader</a></dt>
 <dd>
 <div class="block">Default "window" size between the last key written by the writer and the
@@ -6662,8 +6656,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.html#DEFAULT_TABLES_COUNT">DEFAULT_TABLES_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.test.<a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.html" title="class in org.apache.hadoop.hbase.test">IntegrationTestBigLinkedListWithVisibility</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#DEFAULT_THREAD_COUNT">DEFAULT_THREAD_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.html#DEFAULT_TIMEOUT_MINUTES">DEFAULT_TIMEOUT_MINUTES</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestLazyCfLoading.html" title="class in org.apache.hadoop.hbase">IntegrationTestLazyCfLoading</a></dt>
 <dd>
 <div class="block">A soft test timeout; duration of the test, as such, depends on number of keys to put.</div>
@@ -9925,8 +9917,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HBaseCluster.html#getConf()">getConf()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HBaseCluster.html" title="class in org.apache.hadoop.hbase">HBaseCluster</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#getConf()">getConf()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestBase.html#getConf()">getConf()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase">IntegrationTestBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html#getConf()">getConf()</a></span> - Method in class org.apache.hadoop.hbase.io.crypto.<a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html" title="class in org.apache.hadoop.hbase.io.crypto">TestCipherProvider.MyCipherProvider</a></dt>
@@ -10667,6 +10657,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/TestHalfStoreFileReader.html#getLastOnCol(org.apache.hadoop.hbase.Cell)">getLastOnCol(Cell)</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="./org/apache/hadoop/hbase/io/TestHalfStoreFileReader.html" title="class in org.apache.hadoop.hbase.io">TestHalfStoreFileReader</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html#getLatch">getLatch</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/token/TestZKSecretWatcher.AuthenticationTokenSecretManagerForTest.html#getLatch()">getLatch()</a></span> - Method in class org.apache.hadoop.hbase.security.token.<a href="./org/apache/hadoop/hbase/security/token/TestZKSecretWatcher.AuthenticationTokenSecretManagerForTest.html" title="class in org.apache.hadoop.hbase.security.token">TestZKSecretWatcher.AuthenticationTokenSecretManagerForTest</a></dt>
@@ -11314,6 +11308,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.html#getQualifier(int)">getQualifier(int)</a></span> - Static method in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTreeEncoding</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestCellUtil.ByteBufferedCellImpl.html#getQualifierArray()">getQualifierArray()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestCellUtil.ByteBufferedCellImpl.html" title="class in org.apache.hadoop.hbase">TestCellUtil.ByteBufferedCellImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/TestCellUtil.TestCell.html#getQualifierArray()">getQualifierArray()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/TestCellUtil.TestCell.html" title="class in org.apache.hadoop.hbase">TestCellUtil.TestCell</a></dt>
@@ -11603,6 +11599,14 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/TestSecureIPC.html#getRpcClientClass()">getRpcClientClass()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/TestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">TestSecureIPC</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html#getRpcGetRequestsCount()">getRpcGetRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperStub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperStub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperStub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html#getRpcScanRequestsCount()">getRpcScanRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperStub</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/MockRegionServer.html#getRpcServer()">getRpcServer()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/MockRegionServer.html" title="class in org.apache.hadoop.hbase.master">MockRegionServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/MockRegionServerServices.html#getRpcServer()">getRpcServer()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/MockRegionServerServices.html" title="class in org.apache.hadoop.hbase">MockRegionServerServices</a></dt>
@@ -11877,6 +11881,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html#getStartRow()">getStartRow()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestTableSnapshotInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TestTableSnapshotInputFormat</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html#getStartRow()">getStartRow()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputSplit.html#getStartRow()">getStartRow()</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputSplit.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.PeInputSplit</a></dt>
@@ -13162,8 +13170,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html#INCREMENT_BYTES">INCREMENT_BYTES</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionIncrement</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#INCREMENT_COUNT">INCREMENT_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html#INCREMENT_COUNT">INCREMENT_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionIncrement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RegionAsTable.html#incrementColumnValue(byte[],%20byte[],%20byte[],%20long)">incrementColumnValue(byte[], byte[], byte[], long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RegionAsTable.html" title="class in org.apache.hadoop.hbase.regionserver">RegionAsTable</a></dt>
@@ -13172,12 +13178,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.html#incrementCounter(org.apache.hadoop.hbase.client.Table)">incrementCounter(Table)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="./org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRowProcessorEndpoint</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">IncrementPerformanceTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
-<dd>
-<div class="block">Simple Increments Performance Test.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#IncrementPerformanceTest()">IncrementPerformanceTest()</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/KVGenerator.html#incrementPrefix()">incrementPrefix()</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/KVGenerator.html" title="class in org.apache.hadoop.hbase.io.hfile">KVGenerator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.CrossRowCellIncrementer.html#increments">increments</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.CrossRowCellIncrementer.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionIncrement.CrossRowCellIncrementer</a></dt>
@@ -15749,8 +15749,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/http/TestSSLHttpServer.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.http.<a href="./org/apache/hadoop/hbase/http/TestSSLHttpServer.html" title="class in org.apache.hadoop.hbase.http">TestSSLHttpServer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestBase.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase">IntegrationTestBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.html" title="class in org.apache.hadoop.hbase">IntegrationTestDDLMasterFailover</a></dt>
@@ -16595,8 +16593,6 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HFilePerformanceEvaluation.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HFilePerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">HFilePerformanceEvaluation</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase">IntegrationTestAcidGuarantees</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.html#main(java.lang.String[])">main(String[])</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.html" title="class in org.apache.hadoop.hbase">IntegrationTestDDLMasterFailover</a></dt>
@@ -17229,8 +17225,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestMetricsConnection.html#METRICS">METRICS</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestMetricsConnection.html" title="class in org.apache.hadoop.hbase.client">TestMetricsConnection</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#metrics">metrics</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.html#metrics">metrics</a></span> - Variable in class org.apache.hadoop.hbase.master.snapshot.<a href="./org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.html#metrics">metrics</a></span> - Variable in class org.apache.hadoop.hbase.wal.<a href="./org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.wal">WALPerformanceEvaluation</a></dt>
@@ -19752,6 +19746,10 @@
 <dd>
 <div class="block">Constructor</div>
 </dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.AppendTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#PerformanceEvaluation.AppendTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.AppendTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AppendTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.BufferedMutatorTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#PerformanceEvaluation.BufferedMutatorTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.BufferedMutatorTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></dt>
@@ -19760,6 +19758,25 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.BufferedMutatorTest.html#PerformanceEvaluation.BufferedMutatorTest(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.rest.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.rest.PerformanceEvaluation.Status)">PerformanceEvaluation.BufferedMutatorTest(Configuration, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.BufferedMutatorTest</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.CASTableTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>
+<div class="block">Base class for operations that are CAS-like; that read a value and then set it based off what
+ they read.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#PerformanceEvaluation.CASTableTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CASTableTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.CheckAndDeleteTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#PerformanceEvaluation.CheckAndDeleteTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndDeleteTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndDeleteTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.CheckAndMutateTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#PerformanceEvaluation.CheckAndMutateTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndMutateTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndMutateTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.CheckAndPutTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#PerformanceEvaluation.CheckAndPutTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndPutTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndPutTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.CmdDescriptor</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
 <dd>
 <div class="block">Describes a command.</div>
@@ -19804,6 +19821,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.FilteredScanTest.html#PerformanceEvaluation.FilteredScanTest(org.apache.hadoop.conf.Configuration,%20org.apache.hadoop.hbase.rest.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.rest.PerformanceEvaluation.Status)">PerformanceEvaluation.FilteredScanTest(Configuration, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation.FilteredScanTest</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.IncrementTest</span></a> - Class in <a href="./org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#PerformanceEvaluation.IncrementTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.IncrementTest(Connection, PerformanceEvaluation.TestOptions, PerformanceEvaluation.Status)</a></span> - Constructor for class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.IncrementTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.PeInputFormat.html" title="class in org.apache.hadoop.hbase.rest"><span class="strong">PerformanceEvaluation.PeInputFormat</span></a> - Class in <a href="./org/apache/hadoop/hbase/rest/package-summary.html">org.apache.hadoop.hbase.rest</a></dt>
 <dd>
 <div class="block">InputFormat of Performance Evaluation MapReduce job.</div>
@@ -21788,8 +21809,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestDependentColumnFilter.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestDependentColumnFilter.html" title="class in org.apache.hadoop.hbase.filter">TestDependentColumnFilter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestCellCounter.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestCellCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestCellCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestCopyTable.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestCopyTable.html" title="class in org.apache.hadoop.hbase.mapreduce">TestCopyTable</a></dt>
@@ -21800,6 +21819,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TestWarmupRegion.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TestWarmupRegion.html" title="class in org.apache.hadoop.hbase.master">TestWarmupRegion</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#qualifier">qualifier</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#QUALIFIER">QUALIFIER</a></span> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaThrottle</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/compactions/TestFIFOCompactionPolicy.html#qualifier">qualifier</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.compactions.<a href="./org/apache/hadoop/hbase/regionserver/compactions/TestFIFOCompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">TestFIFOCompactionPolicy</a></dt>
@@ -24072,8 +24093,6 @@
 <dd>
 <div class="block">Run benchmark</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#run(java.lang.String[])">run(String[])</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.Worker.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.Worker.html" title="class in org.apache.hadoop.hbase">IntegrationTestDDLMasterFailover.Worker</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestManyRegions.Worker.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestManyRegions.Worker.html" title="class in org.apache.hadoop.hbase">IntegrationTestManyRegions.Worker</a></dt>
@@ -25077,8 +25096,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HBaseClusterManager.html#setConf(org.apache.hadoop.conf.Configuration)">setConf(Configuration)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HBaseClusterManager.html" title="class in org.apache.hadoop.hbase">HBaseClusterManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#setConf(org.apache.hadoop.conf.Configuration)">setConf(Configuration)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.html#setConf(org.apache.hadoop.conf.Configuration)">setConf(Configuration)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaReplication</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html#setConf(org.apache.hadoop.conf.Configuration)">setConf(Configuration)</a></span> - Method in class org.apache.hadoop.hbase.io.crypto.<a href="./org/apache/hadoop/hbase/io/crypto/TestCipherProvider.MyCipherProvider.html" title="class in org.apache.hadoop.hbase.io.crypto">TestCipherProvider.MyCipherProvider</a></dt>
@@ -28738,6 +28755,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.html#TABLE_NAME_OPT">TABLE_NAME_OPT</a></span> - Static variable in class org.apache.hadoop.hbase.chaos.util.<a href="./org/apache/hadoop/hbase/chaos/util/ChaosMonkeyRunner.html" title="class in org.apache.hadoop.hbase.chaos.util">ChaosMonkeyRunner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html#TABLE_NAME_TS_RANGE">TABLE_NAME_TS_RANGE</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRowCounter</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html#TABLE_NAMES">TABLE_NAMES</a></span> - Static variable in class org.apache.hadoop.hbase.quotas.<a href="./org/apache/hadoop/hbase/quotas/TestQuotaThrottle.html" title="class in org.apache.hadoop.hbase.quotas">TestQuotaThrottle</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestRpcControllerFactory.CountingRpcController.html#TABLE_PRIORITY">TABLE_PRIORITY</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestRpcControllerFactory.CountingRpcController.html" title="class in org.apache.hadoop.hbase.client">TestRpcControllerFactory.CountingRpcController</a></dt>
@@ -28862,8 +28881,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.html#tableName">tableName</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="./org/apache/hadoop/hbase/filter/TestMultiRowRangeFilter.html" title="class in org.apache.hadoop.hbase.filter">TestMultiRowRangeFilter</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#TABLENAME">TABLENAME</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.html#tableName">tableName</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaPerf</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.html#tableName">tableName</a></span> - Variable in class org.apache.hadoop.hbase.io.encoding.<a href="./org/apache/hadoop/hbase/io/encoding/TestChangingEncoding.html" title="class in org.apache.hadoop.hbase.io.encoding">TestChangingEncoding</a></dt>
@@ -42179,8 +42196,18 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.html#testRoundTripToBytes()">testRoundTripToBytes()</a></span> - Method in class org.apache.hadoop.hbase.codec.keyvalue.<a href="./org/apache/hadoop/hbase/codec/keyvalue/TestKeyValueTool.html" title="class in org.apache.hadoop.hbase.codec.keyvalue">TestKeyValueTool</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AppendTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndDeleteTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndMutateTest</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndPutTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.FilteredScanTest</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.IncrementTest</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomReadTest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#testRow(int)">testRow(int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></dt>
@@ -42244,6 +42271,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapred/TestRowCounter.Outs.html#TestRowCounter.Outs()">TestRowCounter.Outs()</a></span> - Constructor for enum org.apache.hadoop.hbase.mapred.<a href="./org/apache/hadoop/hbase/mapred/TestRowCounter.Outs.html" title="enum in org.apache.hadoop.hbase.mapred">TestRowCounter.Outs</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html#testRowCounterColumnAndRowRange()">testRowCounterColumnAndRowRange()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRowCounter</a></dt>
+<dd>
+<div class="block">Test a case when the column specified in command line arguments is
+ exclusive for few rows and also a row range filter is specified</div>
+</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html#testRowCounterColumnWithColonInQualifier()">testRowCounterColumnWithColonInQualifier()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestRowCounter.html" title="class in org.apache.hadoop.hbase.mapreduce">TestRowCounter</a></dt>
 <dd>
 <div class="block">Test a case when the column specified in command line arguments is
@@ -45885,6 +45917,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabels.html#testVisibilityLabelsOnRSRestart()">testVisibilityLabelsOnRSRestart()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabels.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabels</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDefaultVisLabelService.html#testVisibilityLabelsOnWALReplay()">testVisibilityLabelsOnWALReplay()</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDefaultVisLabelService.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabelsWithDefaultVisLabelService</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsOpWithDifferentUsersNoACL.html" title="class in org.apache.hadoop.hbase.security.visibility"><span class="strong">TestVisibilityLabelsOpWithDifferentUsersNoACL</span></a> - Class in <a href="./org/apache/hadoop/hbase/security/visibility/package-summary.html">org.apache.hadoop.hbase.security.visibility</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsOpWithDifferentUsersNoACL.html#TestVisibilityLabelsOpWithDifferentUsersNoACL()">TestVisibilityLabelsOpWithDifferentUsersNoACL()</a></span> - Constructor for class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsOpWithDifferentUsersNoACL.html" title="class in org.apache.hadoop.hbase.security.visibility">TestVisibilityLabelsOpWithDifferentUsersNoACL</a></dt>
@@ -46664,8 +46698,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestScanner.html#thirdRowBytes">thirdRowBytes</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestScanner.html" title="class in org.apache.hadoop.hbase.regionserver">TestScanner</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html#THREAD_COUNT">THREAD_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase">IncrementPerformanceTest</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html#THREAD_COUNT">THREAD_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRegionIncrement.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionIncrement</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html#THREAD_COUNT">THREAD_COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestLogRollingNoCluster</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html
index e372d21..4eb5722 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html
@@ -91,7 +91,7 @@
 </dl>
 <hr>
 <br>
-<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3510">HBaseTestingUtility.PortAllocator.AvailablePortChecker</a></pre>
+<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3513">HBaseTestingUtility.PortAllocator.AvailablePortChecker</a></pre>
 </li>
 </ul>
 </div>
@@ -135,7 +135,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>available</h4>
-<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html#line.3511">available</a>(int&nbsp;port)</pre>
+<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html#line.3514">available</a>(int&nbsp;port)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html
index 7617042..60cce23 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3450">HBaseTestingUtility.PortAllocator</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3453">HBaseTestingUtility.PortAllocator</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>
@@ -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>MIN_RANDOM_PORT</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3451">MIN_RANDOM_PORT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3454">MIN_RANDOM_PORT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HBaseTestingUtility.PortAllocator.MIN_RANDOM_PORT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -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>MAX_RANDOM_PORT</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3452">MAX_RANDOM_PORT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3455">MAX_RANDOM_PORT</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HBaseTestingUtility.PortAllocator.MAX_RANDOM_PORT">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -256,7 +256,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>takenRandomPorts</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="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/HBaseTestingUtility.PortAllocator.html#line.3455">takenRandomPorts</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="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/HBaseTestingUtility.PortAllocator.html#line.3458">takenRandomPorts</a></pre>
 <div class="block">A set of ports that have been claimed using <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#randomFreePort()"><code>randomFreePort()</code></a>.</div>
 </li>
 </ul>
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>random</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3457">random</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3460">random</a></pre>
 </li>
 </ul>
 <a name="portChecker">
@@ -275,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>portChecker</h4>
-<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html" title="interface in org.apache.hadoop.hbase">HBaseTestingUtility.PortAllocator.AvailablePortChecker</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3458">portChecker</a></pre>
+<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html" title="interface in org.apache.hadoop.hbase">HBaseTestingUtility.PortAllocator.AvailablePortChecker</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3461">portChecker</a></pre>
 </li>
 </ul>
 </li>
@@ -292,7 +292,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HBaseTestingUtility.PortAllocator</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3460">HBaseTestingUtility.PortAllocator</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3463">HBaseTestingUtility.PortAllocator</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random)</pre>
 </li>
 </ul>
 <a name="HBaseTestingUtility.PortAllocator(java.util.Random, org.apache.hadoop.hbase.HBaseTestingUtility.PortAllocator.AvailablePortChecker)">
@@ -301,7 +301,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseTestingUtility.PortAllocator</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3475">HBaseTestingUtility.PortAllocator</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3478">HBaseTestingUtility.PortAllocator</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;random,
                                  <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.AvailablePortChecker.html" title="interface in org.apache.hadoop.hbase">HBaseTestingUtility.PortAllocator.AvailablePortChecker</a>&nbsp;portChecker)</pre>
 </li>
 </ul>
@@ -319,7 +319,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>randomFreePort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3484">randomFreePort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3487">randomFreePort</a>()</pre>
 <div class="block">Returns a random free port and marks that port as taken. Not thread-safe. Expected to be
  called from single-threaded test setup code/</div>
 </li>
@@ -330,7 +330,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>randomPort</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3505">randomPort</a>()</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html#line.3508">randomPort</a>()</pre>
 <div class="block">Returns a random port. These ports cannot be registered with IANA and are
  intended for dynamic allocation (see http://bit.ly/dynports).</div>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html
index 2f2139a..7c4221e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1965">HBaseTestingUtility.SeenRowTracker</a>
+<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1968">HBaseTestingUtility.SeenRowTracker</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 tracker for tracking and validating table rows
  generated with <code>HBaseTestingUtility#loadTable(HTable, byte[])</code></div>
@@ -217,7 +217,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>dim</h4>
-<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1966">dim</a></pre>
+<pre>int <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1969">dim</a></pre>
 </li>
 </ul>
 <a name="seenRows">
@@ -226,7 +226,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>seenRows</h4>
-<pre>int[][][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1967">seenRows</a></pre>
+<pre>int[][][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1970">seenRows</a></pre>
 </li>
 </ul>
 <a name="startRow">
@@ -235,7 +235,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>startRow</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1968">startRow</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1971">startRow</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -244,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stopRow</h4>
-<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1969">stopRow</a></pre>
+<pre>byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1972">stopRow</a></pre>
 </li>
 </ul>
 </li>
@@ -261,7 +261,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseTestingUtility.SeenRowTracker</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1971">HBaseTestingUtility.SeenRowTracker</a>(byte[]&nbsp;startRow,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1974">HBaseTestingUtility.SeenRowTracker</a>(byte[]&nbsp;startRow,
                                   byte[]&nbsp;stopRow)</pre>
 </li>
 </ul>
@@ -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>reset</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1976">reset</a>()</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1979">reset</a>()</pre>
 </li>
 </ul>
 <a name="i(byte)">
@@ -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>i</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1982">i</a>(byte&nbsp;b)</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1985">i</a>(byte&nbsp;b)</pre>
 </li>
 </ul>
 <a name="addRow(byte[])">
@@ -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>addRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1986">addRow</a>(byte[]&nbsp;row)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1989">addRow</a>(byte[]&nbsp;row)</pre>
 </li>
 </ul>
 <a name="validate()">
@@ -306,7 +306,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>validate</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1993">validate</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.SeenRowTracker.html#line.1996">validate</a>()</pre>
 <div class="block">Validate that all the rows between startRow and stopRow are seen exactly once, and
  all other rows none</div>
 </li>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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
index 82471e8..97606e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/HRegion.BatchOperationInProgress.html
@@ -119,11 +119,10 @@
 </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,%20int)">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,
-                                      int&nbsp;cellCount)</code>&nbsp;</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 int</code></td>
+<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 127af1f..98aa638 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -605,23 +605,23 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
index 292ba9e..6e14f9a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
@@ -89,7 +89,7 @@
 <li><a href="../../../../../../org/apache/hadoop/hbase/codec/BaseDecoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.BaseDecoder</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueDecoder</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueDecoder</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec.EncryptedKvDecoder</li>
@@ -114,7 +114,7 @@
 <hr>
 <br>
 <pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html#line.63">SecureWALCellCodec.EncryptedKvDecoder</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</a></pre>
+extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</a></pre>
 </li>
 </ul>
 </div>
@@ -299,7 +299,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.K
 <div class="block">Extract a Cell.</div>
 <dl>
 <dt><strong>Overrides:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html#parseCell()">parseCell</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html#parseCell()">parseCell</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</a></code></dd>
 <dt><span class="strong">Returns:</span></dt><dd>a parsed Cell or throws an Exception. EOFException or a generic IOException maybe
  thrown if EOF is reached prematurely. Does not return null.</dd>
 <dt><span class="strong">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
index 3aa50b4..95673a0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
@@ -89,7 +89,7 @@
 <li><a href="../../../../../../org/apache/hadoop/hbase/codec/BaseEncoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.BaseEncoder</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueEncoder</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueEncoder</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.hadoop.hbase.regionserver.wal.SecureWALCellCodec.EncryptedKvEncoder</li>
@@ -114,7 +114,7 @@
 <hr>
 <br>
 <pre>static class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html#line.145">SecureWALCellCodec.EncryptedKvEncoder</a>
-extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueEncoder</a></pre>
+extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueEncoder</a></pre>
 </li>
 </ul>
 </div>
@@ -314,7 +314,7 @@ extends <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.K
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/CellOutputStream.html#write(org.apache.hadoop.hbase.Cell)">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/CellOutputStream.html" title="interface in org.apache.hadoop.hbase.io">CellOutputStream</a></code></dd>
 <dt><strong>Overrides:</strong></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html#write(org.apache.hadoop.hbase.Cell)">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueEncoder</a></code></dd>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html#write(org.apache.hadoop.hbase.Cell)">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueEncoder</a></code></dd>
 <dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - Cell to write out</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
index d5bfbb1..7cdfaa3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
@@ -228,9 +228,6 @@ implements org.apache.hadoop.io.Writable, <a href="../../../../../../org/apache/
 <tr class="rowColor">
 <td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(boolean)">WALEdit</a></strong>(boolean&nbsp;isReplay)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colOne"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(int)">WALEdit</a></strong>(int&nbsp;cellCount)</code>&nbsp;</td>
-</tr>
 </table>
 </li>
 </ul>
@@ -525,19 +522,10 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <a name="WALEdit(boolean)">
 <!--   -->
 </a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WALEdit</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.119">WALEdit</a>(boolean&nbsp;isReplay)</pre>
-</li>
-</ul>
-<a name="WALEdit(int)">
-<!--   -->
-</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALEdit</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.124">WALEdit</a>(int&nbsp;cellCount)</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.119">WALEdit</a>(boolean&nbsp;isReplay)</pre>
 </li>
 </ul>
 </li>
@@ -554,7 +542,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaEditFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.133">isMetaEditFamily</a>(byte[]&nbsp;f)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.127">isMetaEditFamily</a>(byte[]&nbsp;f)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>f</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>True is <code>f</code> is <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#METAFAMILY"><code>METAFAMILY</code></a></dd></dl>
 </li>
@@ -565,7 +553,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaEditFamily</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.137">isMetaEditFamily</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.131">isMetaEditFamily</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isMetaEdit()">
@@ -574,7 +562,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaEdit</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.141">isMetaEdit</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.135">isMetaEdit</a>()</pre>
 </li>
 </ul>
 <a name="isReplay()">
@@ -583,7 +571,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>isReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.154">isReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.148">isReplay</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True when current WALEdit is created by log replay. Replication skips WALEdits from
          replay.</dd></dl>
 </li>
@@ -594,7 +582,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompressionContext</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.158">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/regionserver/wal/WALEdit.html#line.152">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>
 </li>
 </ul>
 <a name="add(org.apache.hadoop.hbase.Cell)">
@@ -603,7 +591,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>add</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.162">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.156">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
 <a name="isEmpty()">
@@ -612,7 +600,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>isEmpty</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.167">isEmpty</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.161">isEmpty</a>()</pre>
 </li>
 </ul>
 <a name="size()">
@@ -621,7 +609,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.171">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.165">size</a>()</pre>
 </li>
 </ul>
 <a name="getCells()">
@@ -630,7 +618,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <ul class="blockList">
 <li class="blockList">
 <h4>getCells</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.175">getCells</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.169">getCells</a>()</pre>
 </li>
 </ul>
 <a name="setCells(java.util.ArrayList)">
@@ -640,7 +628,7 @@ private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Navigab
 <li class="blockList">
 <h4>setCells</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/regionserver/wal/WALEdit.html#line.187">setCells</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
+public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.181">setCells</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells)</pre>
 <div class="block">This is not thread safe.
  This will change the WALEdit and shouldn't be used unless you are sure that nothing
  else depends on the contents being immutable.</div>
@@ -653,7 +641,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getAndRemoveScopes</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/regionserver/wal/WALEdit.html#line.191">getAndRemoveScopes</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/regionserver/wal/WALEdit.html#line.185">getAndRemoveScopes</a>()</pre>
 </li>
 </ul>
 <a name="readFields(java.io.DataInput)">
@@ -662,7 +650,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.198">readFields</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.192">readFields</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 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>
@@ -677,7 +665,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>write</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.234">write</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.228">write</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            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>
@@ -692,7 +680,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>readFromCells</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.265">readFromCells</a>(<a href="../../../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a>&nbsp;cellDecoder,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.259">readFromCells</a>(<a href="../../../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a>&nbsp;cellDecoder,
                 int&nbsp;expectedCount)
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Reads WALEdit from cells.</div>
@@ -708,7 +696,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.275">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.269">heapSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/io/HeapSize.html#heapSize()">heapSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/io/HeapSize.html" title="interface in org.apache.hadoop.hbase.io">HeapSize</a></code></dd>
@@ -722,7 +710,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.289">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.283">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>
@@ -735,7 +723,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createFlushWALEdit</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.304">createFlushWALEdit</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.298">createFlushWALEdit</a>(<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)</pre>
 </li>
 </ul>
@@ -745,7 +733,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushDescriptor</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.310">getFlushDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.304">getFlushDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                                                                                                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>
@@ -757,7 +745,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionEventWALEdit</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.317">createRegionEventWALEdit</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.311">createRegionEventWALEdit</a>(<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;regionEventDesc)</pre>
 </li>
 </ul>
@@ -767,7 +755,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionEventDescriptor</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.324">getRegionEventDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.318">getRegionEventDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                                                                                                            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>
@@ -779,7 +767,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createCompaction</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.336">createCompaction</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.330">createCompaction</a>(<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)</pre>
 <div class="block">Create a compaction WALEdit</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>c</code> - </dd>
@@ -792,7 +780,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowForRegion</h4>
-<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.343">getRowForRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</pre>
+<pre>private static&nbsp;byte[]&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.337">getRowForRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)</pre>
 </li>
 </ul>
 <a name="getCompaction(org.apache.hadoop.hbase.Cell)">
@@ -801,7 +789,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompaction</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.358">getCompaction</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)
+<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.352">getCompaction</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;kv)
                                                                                                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">Deserialized and returns a CompactionDescriptor is the KeyValue contains one.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>kv</code> - the key value</dd>
@@ -816,7 +804,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>createBulkLoadEvent</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.372">createBulkLoadEvent</a>(<a href="../../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri,
+<pre>public static&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.366">createBulkLoadEvent</a>(<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;bulkLoadDescriptor)</pre>
 <div class="block">Create a bulk loader WALEdit</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>hri</code> - The HRegionInfo for the region in which we are bulk loading</dd><dd><code>bulkLoadDescriptor</code> - The descriptor for the Bulk Loader</dd>
@@ -829,7 +817,7 @@ public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBulkLoadDescriptor</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.387">getBulkLoadDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>public static&nbsp;org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#line.381">getBulkLoadDescriptor</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                                                                                                      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">Deserialized and returns a BulkLoadDescriptor from the passed in Cell</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>cell</code> - the key value</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index ec7b7b7..21448e6 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -75,7 +75,7 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/BaseDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">BaseDecoder</span></a> (implements org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueDecoder</span></a>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueDecoder</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">SecureWALCellCodec.EncryptedKvDecoder</span></a></li>
 </ul>
@@ -85,7 +85,7 @@
 </li>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/BaseEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">BaseEncoder</span></a> (implements org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/Codec.Encoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Encoder</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueEncoder</span></a>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueEncoder</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">SecureWALCellCodec.EncryptedKvEncoder</span></a></li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index cfd1df0..b720014 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -159,9 +159,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">ThriftServerRunner.ImplType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">ThriftMetrics.ThriftServerType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="strong">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>

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


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

Posted by mi...@apache.org.
Published site at eacf7bcf97f09c9a6e68baf9a4a9ceb1d83c9fb0.


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

Branch: refs/heads/asf-site
Commit: 670bf1f0946feddc4139d29605db7832e6f4153f
Parents: 9bc06f8
Author: jenkins <bu...@apache.org>
Authored: Sun Feb 7 15:21:32 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Mon Feb 8 08:53:48 2016 -0800

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     4 +-
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |     4 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |   223 +-
 book.html                                       |     2 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       |  1116 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/constant-values.html                 |    56 +
 devapidocs/index-all.html                       |    56 +-
 .../hadoop/hbase/class-use/CellScanner.html     |    10 +
 .../class-use/InterfaceStability.Unstable.html  |    12 +-
 .../hbase/classification/package-tree.html      |     6 +-
 .../hadoop/hbase/client/package-tree.html       |     6 +-
 .../codec/KeyValueCodec.KeyValueDecoder.html    |     4 -
 .../codec/KeyValueCodec.KeyValueEncoder.html    |     4 -
 .../KeyValueCodecWithTags.KeyValueDecoder.html  |     4 +
 .../KeyValueCodecWithTags.KeyValueEncoder.html  |     4 +
 .../KeyValueCodec.KeyValueDecoder.html          |    42 +-
 .../KeyValueCodec.KeyValueEncoder.html          |    42 +-
 .../KeyValueCodecWithTags.KeyValueDecoder.html  |    42 +-
 .../KeyValueCodecWithTags.KeyValueEncoder.html  |    42 +-
 .../apache/hadoop/hbase/codec/package-use.html  |     4 +-
 .../hadoop/hbase/executor/package-tree.html     |     2 +-
 .../hadoop/hbase/filter/package-tree.html       |    10 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |     8 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     6 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/quotas/package-tree.html       |     4 +-
 .../regionserver/HRegion.RegionScannerImpl.html |    92 +-
 .../regionserver/HRegion.RowLockContext.html    |    24 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html |    16 +-
 .../hadoop/hbase/regionserver/HRegion.html      |   298 +-
 .../HRegionServer.MovedRegionInfo.html          |    16 +-
 .../HRegionServer.MovedRegionsCleaner.html      |    16 +-
 .../hbase/regionserver/HRegionServer.html       |   156 +-
 .../regionserver/MetricsRegionServerSource.html |   114 +-
 .../MetricsRegionServerSourceImpl.html          |     2 +-
 .../MetricsRegionServerWrapper.html             |    66 +-
 ...Impl.RegionServerMetricsWrapperRunnable.html |    10 +-
 .../MetricsRegionServerWrapperImpl.html         |   150 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |     8 +-
 .../RSRpcServices.RegionScannerHolder.html      |    20 +-
 ...pcServices.RegionScannerShippedCallBack.html |    12 +-
 ...RpcServices.RegionScannersCloseCallBack.html |    10 +-
 .../RSRpcServices.ScannerListener.html          |     8 +-
 .../hbase/regionserver/RSRpcServices.html       |   242 +-
 .../HRegion.BatchOperationInProgress.html       |     5 +-
 .../hadoop/hbase/regionserver/package-tree.html |    26 +-
 .../SecureWALCellCodec.EncryptedKvDecoder.html  |     6 +-
 .../SecureWALCellCodec.EncryptedKvEncoder.html  |     6 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |    64 +-
 .../hbase/regionserver/wal/package-tree.html    |     4 +-
 .../hbase/security/access/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     |   120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    48 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 .../hadoop/hbase/util/class-use/Counter.html    |    16 +
 .../apache/hadoop/hbase/util/package-tree.html  |     8 +-
 devapidocs/overview-tree.html                   |     8 +-
 .../RowCounter.RowCounterMapper.Counters.html   |   223 +-
 .../mapreduce/RowCounter.RowCounterMapper.html  |   223 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |   223 +-
 .../normalizer/SimpleRegionNormalizer.html      |     4 +-
 .../HRegion.BatchOperationInProgress.html       | 10477 ++++++++--------
 .../regionserver/HRegion.FlushResultImpl.html   | 10477 ++++++++--------
 .../regionserver/HRegion.MutationBatch.html     | 10477 ++++++++--------
 .../HRegion.PrepareFlushResult.html             | 10477 ++++++++--------
 .../regionserver/HRegion.RegionScannerImpl.html | 10477 ++++++++--------
 .../hbase/regionserver/HRegion.ReplayBatch.html | 10477 ++++++++--------
 .../regionserver/HRegion.RowLockContext.html    | 10477 ++++++++--------
 .../hbase/regionserver/HRegion.RowLockImpl.html | 10477 ++++++++--------
 .../hbase/regionserver/HRegion.WriteState.html  | 10477 ++++++++--------
 .../hadoop/hbase/regionserver/HRegion.html      | 10477 ++++++++--------
 .../HRegionServer.CompactionChecker.html        |  2118 ++--
 .../HRegionServer.MovedRegionInfo.html          |  2118 ++--
 .../HRegionServer.MovedRegionsCleaner.html      |  2118 ++--
 .../HRegionServer.PeriodicMemstoreFlusher.html  |  2118 ++--
 .../hbase/regionserver/HRegionServer.html       |  2118 ++--
 .../regionserver/MetricsRegionServerSource.html |    14 +-
 .../MetricsRegionServerSourceImpl.html          |   234 +-
 .../MetricsRegionServerWrapper.html             |    22 +-
 ...Impl.RegionServerMetricsWrapperRunnable.html |   542 +-
 .../MetricsRegionServerWrapperImpl.html         |   542 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |  5463 ++++-----
 .../RSRpcServices.RegionScannerHolder.html      |  5463 ++++-----
 ...pcServices.RegionScannerShippedCallBack.html |  5463 ++++-----
 ...RpcServices.RegionScannersCloseCallBack.html |  5463 ++++-----
 .../RSRpcServices.ScannerListener.html          |  5463 ++++-----
 .../hbase/regionserver/RSRpcServices.html       |  5463 ++++-----
 .../SecureWALCellCodec.EncryptedKvDecoder.html  |     6 +-
 .../SecureWALCellCodec.EncryptedKvEncoder.html  |     6 +-
 .../regionserver/wal/SecureWALCellCodec.html    |     6 +-
 .../wal/WALCellCodec.BaosAndCompressor.html     |     4 +-
 .../wal/WALCellCodec.ByteStringCompressor.html  |     4 +-
 .../WALCellCodec.ByteStringUncompressor.html    |     4 +-
 .../wal/WALCellCodec.CompressedKvDecoder.html   |     4 +-
 .../wal/WALCellCodec.CompressedKvEncoder.html   |     4 +-
 .../wal/WALCellCodec.EnsureKvEncoder.html       |     4 +-
 .../hbase/regionserver/wal/WALCellCodec.html    |     4 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |   532 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    68 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |   120 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |   120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |   120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    36 +-
 distribution-management.html                    |     4 +-
 export_control.html                             |     4 +-
 hbase-annotations/checkstyle.html               |     6 +-
 hbase-annotations/dependencies.html             |     6 +-
 hbase-annotations/dependency-convergence.html   |     6 +-
 hbase-annotations/dependency-info.html          |     6 +-
 hbase-annotations/dependency-management.html    |     6 +-
 hbase-annotations/distribution-management.html  |     6 +-
 hbase-annotations/index.html                    |     6 +-
 hbase-annotations/integration.html              |     6 +-
 hbase-annotations/issue-tracking.html           |     6 +-
 hbase-annotations/license.html                  |     6 +-
 hbase-annotations/mail-lists.html               |     6 +-
 hbase-annotations/plugin-management.html        |     6 +-
 hbase-annotations/plugins.html                  |     6 +-
 hbase-annotations/project-info.html             |     6 +-
 hbase-annotations/project-reports.html          |     6 +-
 hbase-annotations/project-summary.html          |     6 +-
 hbase-annotations/source-repository.html        |     6 +-
 hbase-annotations/team-list.html                |     6 +-
 hbase-spark/checkstyle.html                     |     6 +-
 hbase-spark/dependencies.html                   |     6 +-
 hbase-spark/dependency-convergence.html         |     6 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/distribution-management.html        |     6 +-
 hbase-spark/index.html                          |     6 +-
 hbase-spark/integration.html                    |     6 +-
 hbase-spark/issue-tracking.html                 |     6 +-
 hbase-spark/license.html                        |     6 +-
 hbase-spark/mail-lists.html                     |     6 +-
 hbase-spark/plugin-management.html              |     6 +-
 hbase-spark/plugins.html                        |     6 +-
 hbase-spark/project-info.html                   |     6 +-
 hbase-spark/project-reports.html                |     6 +-
 hbase-spark/project-summary.html                |     6 +-
 hbase-spark/source-repository.html              |     6 +-
 hbase-spark/team-list.html                      |     6 +-
 index.html                                      |     4 +-
 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 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |   224 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |  4167 +++----
 testdevapidocs/allclasses-frame.html            |     7 +-
 testdevapidocs/allclasses-noframe.html          |     7 +-
 testdevapidocs/constant-values.html             |    61 +-
 testdevapidocs/index-all.html                   |   100 +-
 ...lity.PortAllocator.AvailablePortChecker.html |     4 +-
 .../HBaseTestingUtility.PortAllocator.html      |    20 +-
 .../HBaseTestingUtility.SeenRowTracker.html     |    20 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |   242 +-
 .../org/apache/hadoop/hbase/HTestConst.html     |     4 +-
 .../hadoop/hbase/IncrementPerformanceTest.html  |   482 -
 .../hbase/IntegrationTestAcidGuarantees.html    |     4 +-
 .../hbase/PerformanceEvaluation.AppendTest.html |   328 +
 ...rformanceEvaluation.BufferedMutatorTest.html |    20 +-
 .../PerformanceEvaluation.CASTableTest.html     |   382 +
 ...erformanceEvaluation.CheckAndDeleteTest.html |   328 +
 ...erformanceEvaluation.CheckAndMutateTest.html |   328 +
 .../PerformanceEvaluation.CheckAndPutTest.html  |   328 +
 .../PerformanceEvaluation.CmdDescriptor.html    |    20 +-
 .../hbase/PerformanceEvaluation.Counter.html    |    10 +-
 ...PerformanceEvaluation.EvaluationMapTask.html |    16 +-
 .../PerformanceEvaluation.FilteredScanTest.html |    16 +-
 .../PerformanceEvaluation.IncrementTest.html    |   328 +
 .../PerformanceEvaluation.RandomReadTest.html   |    22 +-
 ...Evaluation.RandomScanWithRange10000Test.html |     8 +-
 ...eEvaluation.RandomScanWithRange1000Test.html |     8 +-
 ...ceEvaluation.RandomScanWithRange100Test.html |     8 +-
 ...nceEvaluation.RandomScanWithRange10Test.html |     8 +-
 ...manceEvaluation.RandomScanWithRangeTest.html |    14 +-
 ...erformanceEvaluation.RandomSeekScanTest.html |    10 +-
 .../PerformanceEvaluation.RandomWriteTest.html  |     8 +-
 .../hbase/PerformanceEvaluation.RunResult.html  |    12 +-
 .../hbase/PerformanceEvaluation.ScanTest.html   |    12 +-
 ...erformanceEvaluation.SequentialReadTest.html |     8 +-
 ...rformanceEvaluation.SequentialWriteTest.html |     8 +-
 .../hbase/PerformanceEvaluation.Status.html     |     4 +-
 .../hbase/PerformanceEvaluation.TableTest.html  |    14 +-
 .../hbase/PerformanceEvaluation.Test.html       |   104 +-
 .../PerformanceEvaluation.TestOptions.html      |   222 +-
 .../hadoop/hbase/PerformanceEvaluation.html     |   133 +-
 .../class-use/IncrementPerformanceTest.html     |   115 -
 .../PerformanceEvaluation.AppendTest.html       |   115 +
 .../PerformanceEvaluation.CASTableTest.html     |   171 +
 ...erformanceEvaluation.CheckAndDeleteTest.html |   115 +
 ...erformanceEvaluation.CheckAndMutateTest.html |   115 +
 .../PerformanceEvaluation.CheckAndPutTest.html  |   115 +
 .../PerformanceEvaluation.IncrementTest.html    |   115 +
 .../class-use/PerformanceEvaluation.Status.html |    30 +
 .../PerformanceEvaluation.TableTest.html        |    27 +
 .../class-use/PerformanceEvaluation.Test.html   |    27 +
 .../PerformanceEvaluation.TestOptions.html      |    30 +
 .../hadoop/hbase/client/TestMultiParallel.html  |    72 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../hadoop/hbase/mapreduce/TestRowCounter.html  |    81 +-
 .../org/apache/hadoop/hbase/package-frame.html  |     7 +-
 .../apache/hadoop/hbase/package-summary.html    |   311 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    20 +-
 .../org/apache/hadoop/hbase/package-use.html    |    52 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../MetricsRegionServerWrapperStub.html         |   176 +-
 ...ransactionOnCluster.MyMasterRpcServices.html |     2 +-
 ...rHeartbeatMessages.HeartbeatRPCServices.html |     2 +-
 ...ransactionOnCluster.MyMasterRpcServices.html |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     2 +-
 ...ibilityLabelsWithDefaultVisLabelService.html |    34 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 testdevapidocs/overview-tree.html               |    10 +-
 ...lity.PortAllocator.AvailablePortChecker.html |  4167 +++----
 .../HBaseTestingUtility.PortAllocator.html      |  4167 +++----
 .../HBaseTestingUtility.SeenRowTracker.html     |  4167 +++----
 .../hadoop/hbase/HBaseTestingUtility.html       |  4167 +++----
 .../hadoop/hbase/IncrementPerformanceTest.html  |   200 -
 .../hbase/PerformanceEvaluation.AppendTest.html |  2290 ++++
 ...rformanceEvaluation.BufferedMutatorTest.html |  4150 +++----
 .../PerformanceEvaluation.CASTableTest.html     |  2290 ++++
 ...erformanceEvaluation.CheckAndDeleteTest.html |  2290 ++++
 ...erformanceEvaluation.CheckAndMutateTest.html |  2290 ++++
 .../PerformanceEvaluation.CheckAndPutTest.html  |  2290 ++++
 .../PerformanceEvaluation.CmdDescriptor.html    |  4150 +++----
 .../hbase/PerformanceEvaluation.Counter.html    |  4150 +++----
 ...PerformanceEvaluation.EvaluationMapTask.html |  4150 +++----
 .../PerformanceEvaluation.FilteredScanTest.html |  4150 +++----
 .../PerformanceEvaluation.IncrementTest.html    |  2290 ++++
 .../PerformanceEvaluation.RandomReadTest.html   |  4150 +++----
 ...Evaluation.RandomScanWithRange10000Test.html |  4150 +++----
 ...eEvaluation.RandomScanWithRange1000Test.html |  4150 +++----
 ...ceEvaluation.RandomScanWithRange100Test.html |  4150 +++----
 ...nceEvaluation.RandomScanWithRange10Test.html |  4150 +++----
 ...manceEvaluation.RandomScanWithRangeTest.html |  4150 +++----
 ...erformanceEvaluation.RandomSeekScanTest.html |  4150 +++----
 .../PerformanceEvaluation.RandomWriteTest.html  |  4150 +++----
 .../hbase/PerformanceEvaluation.RunResult.html  |  4150 +++----
 .../hbase/PerformanceEvaluation.ScanTest.html   |  4150 +++----
 ...erformanceEvaluation.SequentialReadTest.html |  4150 +++----
 ...rformanceEvaluation.SequentialWriteTest.html |  4150 +++----
 .../hbase/PerformanceEvaluation.Status.html     |  4150 +++----
 .../hbase/PerformanceEvaluation.TableTest.html  |  4150 +++----
 .../hbase/PerformanceEvaluation.Test.html       |  4150 +++----
 .../PerformanceEvaluation.TestOptions.html      |  4150 +++----
 .../hadoop/hbase/PerformanceEvaluation.html     |  4150 +++----
 .../hadoop/hbase/client/TestMultiParallel.html  |  1392 +--
 .../hadoop/hbase/mapreduce/TestRowCounter.html  |   503 +-
 .../MetricsRegionServerWrapperStub.html         |   234 +-
 ...ibilityLabelsWithDefaultVisLabelService.html |   398 +-
 xref-test/allclasses-frame.html                 |    19 +-
 .../hadoop/hbase/HBaseTestingUtility.html       |  4167 +++----
 .../hadoop/hbase/IncrementPerformanceTest.html  |   142 -
 .../hadoop/hbase/PerformanceEvaluation.html     |  4152 +++----
 .../hadoop/hbase/client/TestMultiParallel.html  |  1392 +--
 .../hadoop/hbase/mapreduce/TestRowCounter.html  |   503 +-
 .../org/apache/hadoop/hbase/package-frame.html  |    17 +-
 .../apache/hadoop/hbase/package-summary.html    |    27 +-
 .../MetricsRegionServerWrapperStub.html         |   234 +-
 ...ibilityLabelsWithDefaultVisLabelService.html |   398 +-
 .../hadoop/hbase/mapreduce/RowCounter.html      |   223 +-
 .../normalizer/SimpleRegionNormalizer.html      |     4 +-
 .../hadoop/hbase/protobuf/ProtobufUtil.html     |  5282 +++++----
 .../hadoop/hbase/regionserver/HRegion.html      | 10479 ++++++++---------
 .../hbase/regionserver/HRegionServer.html       |  2118 ++--
 .../regionserver/MetricsRegionServerSource.html |    14 +-
 .../MetricsRegionServerSourceImpl.html          |   234 +-
 .../MetricsRegionServerWrapper.html             |    22 +-
 .../MetricsRegionServerWrapperImpl.html         |   542 +-
 .../hbase/regionserver/RSRpcServices.html       |  5463 ++++-----
 .../regionserver/wal/SecureWALCellCodec.html    |     6 +-
 .../hbase/regionserver/wal/WALCellCodec.html    |     4 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.html  |   532 +-
 .../hbase/tmpl/common/TaskMonitorTmpl.html      |    90 +-
 .../hbase/tmpl/common/TaskMonitorTmplImpl.html  |    24 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    68 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |   120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    36 +-
 317 files changed, 173444 insertions(+), 153337 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 05b6499..0666f0e 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:20160205175452+00'00')
-/ModDate (D:20160205175452+00'00')
+/CreationDate (D:20160207151610+00'00')
+/ModDate (D:20160207151610+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 38e8548..46f85b4 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:20160205175643)
-  /CreationDate (D:20160205175643)
+  /ModDate (D:20160207151801)
+  /CreationDate (D:20160207151801)
   /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/670bf1f0/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index d233008..f36ed32 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -238,7 +238,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.200">run</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.199">run</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -253,7 +253,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.227">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.226">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>args</code> - The command line parameters.</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index 571c70a..c037057 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -126,118 +126,117 @@
 <span class="sourceLineNo">118</span>        }<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        startKey = startEnd[0];<a name="line.119"></a>
 <span class="sourceLineNo">120</span>        endKey = startEnd[1];<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      if (startTime &lt; endTime) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        continue;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        continue;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        continue;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      else {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // if no switch, assume column names<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        sb.append(args[i]);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        sb.append(" ");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    job.setJarByClass(RowCounter.class);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Scan scan = new Scan();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    scan.setCacheBlocks(false);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (sb.length() &gt; 0) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        else {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    job.setNumReduceTasks(0);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  private static void printUsage(String errorMessage) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    System.err.println("ERROR: " + errorMessage);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    printUsage();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Prints usage without error message.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static void printUsage() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    System.err.println("For performance consider the following options:\n"<a name="line.194"></a>
-<span class="sourceLineNo">195</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        + "-Dmapreduce.map.speculative=false");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public int run(String[] args) throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (args.length &lt; 1) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return -1;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (job == null) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return -1;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    boolean success = job.waitForCompletion(true);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      success = expectedCount == counter.getValue();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      if (!success) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.215"></a>
-<span class="sourceLineNo">216</span>            "' does not match expected count of '" + expectedCount + "'");<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return (success ? 0 : 1);<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>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Main entry point.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param args The command line parameters.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @throws Exception When running the job fails.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public static void main(String[] args) throws Exception {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    System.exit(errCode);<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>}<a name="line.232"></a>
+<span class="sourceLineNo">121</span>        continue;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        continue;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        continue;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        continue;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      // if no switch, assume column names<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(args[i]);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      sb.append(" ");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (endTime &lt; startTime) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      return null;<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>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    job.setJarByClass(RowCounter.class);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Scan scan = new Scan();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    scan.setCacheBlocks(false);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (sb.length() &gt; 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        else {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    job.setNumReduceTasks(0);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  private static void printUsage(String errorMessage) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    System.err.println("ERROR: " + errorMessage);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    printUsage();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * Prints usage without error message.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  private static void printUsage() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    System.err.println("For performance consider the following options:\n"<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        + "-Dmapreduce.map.speculative=false");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public int run(String[] args) throws Exception {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (args.length &lt; 1) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return -1;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (job == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return -1;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    boolean success = job.waitForCompletion(true);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      success = expectedCount == counter.getValue();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      if (!success) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            "' does not match expected count of '" + expectedCount + "'");<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>    return (success ? 0 : 1);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Main entry point.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @param args The command line parameters.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @throws Exception When running the job fails.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public static void main(String[] args) throws Exception {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    System.exit(errCode);<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index e9a07a6..7a94d84 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-05 17:28:16 UTC
+Last updated 2016-02-07 14:48:49 UTC
 </div>
 </div>
 </body>

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


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306<

<TRUNCATED>

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 754b178..4cc2ce5 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -279,76 +279,76 @@ 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_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.83">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.83">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.88">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.88">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_format</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_format__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_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.117">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.117">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.122">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.122">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_format</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <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.139">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -394,112 +394,112 @@ 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="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.73">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.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>
 </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.79">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.79">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.84">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.84">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcv</a>(<a href="http://docs.oracle.com/javase/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="getFormat()">
+<a name="getBcv()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getFormat</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.96">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getBcv__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFormat__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="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.107">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.107">setBcn</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
 </li>
 </ul>
-<a name="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.113">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.113">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.118">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.118">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">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="getFilter()">
+<a name="getFormat()">
 <!--   -->
 </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.130">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <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.135">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html b/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
index c8c536e..31b0a8c 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/class-use/Counter.html
@@ -157,6 +157,22 @@
 <td class="colLast"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#requestCount">requestCount</a></strong></code>&nbsp;</td>
 </tr>
 <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"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcGetRequestCount">rpcGetRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMultiRequestCount">rpcMultiRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMutateRequestCount">rpcMutateRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcScanRequestCount">rpcScanRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>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"><span class="strong">MemStoreFlusher.</span><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html#updatesBlockedMsHighWater">updatesBlockedMsHighWater</a></strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 aa52ab2..d8685f1 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -461,13 +461,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/670bf1f0/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 9b000aa..e27517c 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -460,12 +460,12 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/CellCodec.CellDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">CellCodec.CellDecoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/CellCodecWithTags.CellDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">CellCodecWithTags.CellDecoder</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueDecoder</span></a>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueDecoder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueDecoder</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">SecureWALCellCodec.EncryptedKvDecoder</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueDecoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/MessageCodec.MessageDecoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">MessageCodec.MessageDecoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">WALCellCodec.CompressedKvDecoder</span></a></li>
 </ul>
@@ -474,12 +474,12 @@
 <ul>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/CellCodec.CellEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">CellCodec.CellEncoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/CellCodecWithTags.CellEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">CellCodecWithTags.CellEncoder</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueEncoder</span></a>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodec.KeyValueEncoder</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueEncoder</span></a>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">SecureWALCellCodec.EncryptedKvEncoder</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">KeyValueCodecWithTags.KeyValueEncoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.codec.<a href="org/apache/hadoop/hbase/codec/MessageCodec.MessageEncoder.html" title="class in org.apache.hadoop.hbase.codec"><span class="strong">MessageCodec.MessageEncoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">WALCellCodec.CompressedKvEncoder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="strong">WALCellCodec.EnsureKvEncoder</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html
index 571c70a..c037057 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html
@@ -126,118 +126,117 @@
 <span class="sourceLineNo">118</span>        }<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        startKey = startEnd[0];<a name="line.119"></a>
 <span class="sourceLineNo">120</span>        endKey = startEnd[1];<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      if (startTime &lt; endTime) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        continue;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        continue;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        continue;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      else {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // if no switch, assume column names<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        sb.append(args[i]);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        sb.append(" ");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    job.setJarByClass(RowCounter.class);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Scan scan = new Scan();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    scan.setCacheBlocks(false);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (sb.length() &gt; 0) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        else {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    job.setNumReduceTasks(0);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  private static void printUsage(String errorMessage) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    System.err.println("ERROR: " + errorMessage);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    printUsage();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Prints usage without error message.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static void printUsage() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    System.err.println("For performance consider the following options:\n"<a name="line.194"></a>
-<span class="sourceLineNo">195</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        + "-Dmapreduce.map.speculative=false");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public int run(String[] args) throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (args.length &lt; 1) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return -1;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (job == null) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return -1;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    boolean success = job.waitForCompletion(true);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      success = expectedCount == counter.getValue();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      if (!success) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.215"></a>
-<span class="sourceLineNo">216</span>            "' does not match expected count of '" + expectedCount + "'");<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return (success ? 0 : 1);<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>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Main entry point.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param args The command line parameters.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @throws Exception When running the job fails.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public static void main(String[] args) throws Exception {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    System.exit(errCode);<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>}<a name="line.232"></a>
+<span class="sourceLineNo">121</span>        continue;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        continue;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        continue;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        continue;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      // if no switch, assume column names<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(args[i]);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      sb.append(" ");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (endTime &lt; startTime) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      return null;<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>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    job.setJarByClass(RowCounter.class);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Scan scan = new Scan();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    scan.setCacheBlocks(false);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (sb.length() &gt; 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        else {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    job.setNumReduceTasks(0);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  private static void printUsage(String errorMessage) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    System.err.println("ERROR: " + errorMessage);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    printUsage();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * Prints usage without error message.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  private static void printUsage() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    System.err.println("For performance consider the following options:\n"<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        + "-Dmapreduce.map.speculative=false");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public int run(String[] args) throws Exception {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (args.length &lt; 1) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return -1;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (job == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return -1;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    boolean success = job.waitForCompletion(true);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      success = expectedCount == counter.getValue();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      if (!success) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            "' does not match expected count of '" + expectedCount + "'");<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>    return (success ? 0 : 1);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Main entry point.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @param args The command line parameters.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @throws Exception When running the job fails.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public static void main(String[] args) throws Exception {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    System.exit(errCode);<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>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
index 3034605..07df2e3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
@@ -558,6 +558,38 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 </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/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT">RPC_GET_REQUEST_COUNT</a></strong></code>&nbsp;</td>
+</tr>
+<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/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT_DESC">RPC_GET_REQUEST_COUNT_DESC</a></strong></code>&nbsp;</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/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT">RPC_MULTI_REQUEST_COUNT</a></strong></code>&nbsp;</td>
+</tr>
+<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/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT_DESC">RPC_MULTI_REQUEST_COUNT_DESC</a></strong></code>&nbsp;</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/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT">RPC_MUTATE_REQUEST_COUNT</a></strong></code>&nbsp;</td>
+</tr>
+<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/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT_DESC">RPC_MUTATE_REQUEST_COUNT_DESC</a></strong></code>&nbsp;</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/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT">RPC_SCAN_REQUEST_COUNT</a></strong></code>&nbsp;</td>
+</tr>
+<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/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT_DESC">RPC_SCAN_REQUEST_COUNT_DESC</a></strong></code>&nbsp;</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/MetricsRegionServerSource.html#RS_START_TIME_DESC">RS_START_TIME_DESC</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -2431,13 +2463,93 @@ extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSource.html"
 <a name="FLUSH_KEY">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>FLUSH_KEY</h4>
 <pre>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/regionserver/MetricsRegionServerSource.html#line.332">FLUSH_KEY</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.FLUSH_KEY">Constant Field Values</a></dd></dl>
 </li>
 </ul>
+<a name="RPC_GET_REQUEST_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_GET_REQUEST_COUNT</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.334">RPC_GET_REQUEST_COUNT</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_GET_REQUEST_COUNT">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_GET_REQUEST_COUNT_DESC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_GET_REQUEST_COUNT_DESC</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.335">RPC_GET_REQUEST_COUNT_DESC</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_GET_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_SCAN_REQUEST_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_SCAN_REQUEST_COUNT</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.336">RPC_SCAN_REQUEST_COUNT</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_SCAN_REQUEST_COUNT">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_SCAN_REQUEST_COUNT_DESC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_SCAN_REQUEST_COUNT_DESC</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.337">RPC_SCAN_REQUEST_COUNT_DESC</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_SCAN_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_MULTI_REQUEST_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_MULTI_REQUEST_COUNT</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.339">RPC_MULTI_REQUEST_COUNT</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MULTI_REQUEST_COUNT">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_MULTI_REQUEST_COUNT_DESC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_MULTI_REQUEST_COUNT_DESC</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.340">RPC_MULTI_REQUEST_COUNT_DESC</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MULTI_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_MUTATE_REQUEST_COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RPC_MUTATE_REQUEST_COUNT</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.342">RPC_MUTATE_REQUEST_COUNT</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MUTATE_REQUEST_COUNT">Constant Field Values</a></dd></dl>
+</li>
+</ul>
+<a name="RPC_MUTATE_REQUEST_COUNT_DESC">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RPC_MUTATE_REQUEST_COUNT_DESC</h4>
+<pre>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/regionserver/MetricsRegionServerSource.html#line.343">RPC_MUTATE_REQUEST_COUNT_DESC</a></pre>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MUTATE_REQUEST_COUNT_DESC">Constant Field Values</a></dd></dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ============ METHOD DETAIL ========== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
index d199ec8..67836f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
@@ -210,7 +210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <!--   -->
 </a>
 <h3>Fields inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#APPEND_KEY">APPEND_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_COUNT">BLOCK_CACHE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_COUNT_DESC">BLOCK_CACHE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EVICTION_COUNT">BLOCK_CACHE_EVICTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EVICTION_COUNT_DESC">BLOCK_CACHE_EVICTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EXPRESS_HIT_PERCENT">BLOCK_CACHE_EXPRESS_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EXPRESS_HIT_P
 ERCENT_DESC">BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FAILED_INSERTION_COUNT">BLOCK_CACHE_FAILED_INSERTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC">BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FREE_DESC">BLOCK_CACHE_FREE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FREE_SIZE">BLOCK_CACHE_FREE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_COUNT">BLOCK_CACHE_HIT_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_COUNT_DESC">BLOCK_CACHE_HIT_COUNT_DESC</a>, <a href="../../../
 ../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_PERCENT">BLOCK_CACHE_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_PERCENT_DESC">BLOCK_CACHE_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_MISS_COUNT">BLOCK_CACHE_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_EVICTION_COUNT">BLOCK_CACHE_PRIMARY_EVICTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC">BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_HIT_COUNT">BLOCK_CACHE_PRIMARY_HIT_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Metr
 icsRegionServerSource.html#BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC">BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_MISS_COUNT">BLOCK_CACHE_PRIMARY_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_SIZE">BLOCK_CACHE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_SIZE_DESC">BLOCK_CACHE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_COUNT_MISS_COUNT_DESC">BLOCK_COUNT_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC">BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCKED_REQUESTS_COUNT">BLOCKED_REQUESTS_COU
 NT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCKED_REQUESTS_COUNT_DESC">BLOCKED_REQUESTS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_FROM_MOB">CELLS_COUNT_COMPACTED_FROM_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_FROM_MOB_DESC">CELLS_COUNT_COMPACTED_FROM_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_TO_MOB">CELLS_COUNT_COMPACTED_TO_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_TO_MOB_DESC">CELLS_COUNT_COMPACTED_TO_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_FROM_MOB">CELLS_SIZE_COMPACTED_FROM_MOB</a>, <a href="../../../../../o
 rg/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_FROM_MOB_DESC">CELLS_SIZE_COMPACTED_FROM_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_TO_MOB">CELLS_SIZE_COMPACTED_TO_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_TO_MOB_DESC">CELLS_SIZE_COMPACTED_TO_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_FAILED_COUNT">CHECK_MUTATE_FAILED_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_FAILED_COUNT_DESC">CHECK_MUTATE_FAILED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_PASSED_COUNT">CHECK_MUTATE_PASSED_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionSe
 rverSource.html#CHECK_MUTATE_PASSED_COUNT_DESC">CHECK_MUTATE_PASSED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CLUSTER_ID_DESC">CLUSTER_ID_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CLUSTER_ID_NAME">CLUSTER_ID_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS">COMPACTED_CELLS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_DESC">COMPACTED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_SIZE">COMPACTED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_SIZE_DESC">COMPACTED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#C
 OMPACTION_QUEUE_LENGTH">COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTION_QUEUE_LENGTH_DESC">COMPACTION_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DATA_SIZE_WITHOUT_WAL">DATA_SIZE_WITHOUT_WAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DATA_SIZE_WITHOUT_WAL_DESC">DATA_SIZE_WITHOUT_WAL_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DELETE_KEY">DELETE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT">FILTERED_READ_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT_DESC">FILTERED_READ_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionse
 rver/MetricsRegionServerSource.html#FLUSH_KEY">FLUSH_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_QUEUE_LENGTH">FLUSH_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_QUEUE_LENGTH_DESC">FLUSH_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS">FLUSHED_CELLS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_DESC">FLUSHED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_SIZE">FLUSHED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_SIZE_DESC">FLUSHED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#GET_KEY">GET_KEY<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READ_WINS">HEDGED_READ_WINS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READ_WINS_DESC">HEDGED_READ_WINS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READS">HEDGED_READS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READS_DESC">HEDGED_READS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#INCREMENT_KEY">INCREMENT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#LARGE_COMPACTION_QUEUE_LENGTH">LARGE_COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS">MAJOR_COMPACTED_CELLS</a>, <a href="../../../../../org/apache
 /hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_DESC">MAJOR_COMPACTED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_SIZE">MAJOR_COMPACTED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_SIZE_DESC">MAJOR_COMPACTED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MEMSTORE_SIZE">MEMSTORE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MEMSTORE_SIZE_DESC">MEMSTORE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_CONTEXT">METRICS_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_DESCRIPTION">METRICS_DESCRIPTION</a>, <a href="../../../../../org/apache/
 hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_JMX_CONTEXT">METRICS_JMX_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_NAME">METRICS_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_ACCESS_COUNT">MOB_FILE_CACHE_ACCESS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_ACCESS_COUNT_DESC">MOB_FILE_CACHE_ACCESS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_COUNT">MOB_FILE_CACHE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_COUNT_DESC">MOB_FILE_CACHE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_EVICTED_COUNT">MOB_FILE_CACHE_EVICTED_COUNT</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_EVICTED_COUNT_DESC">MOB_FILE_CACHE_EVICTED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_HIT_PERCENT">MOB_FILE_CACHE_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_HIT_PERCENT_DESC">MOB_FILE_CACHE_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_MISS_COUNT">MOB_FILE_CACHE_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_MISS_COUNT_DESC">MOB_FILE_CACHE_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSH_COUNT">MOB_FLUSH_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSou
 rce.html#MOB_FLUSH_COUNT_DESC">MOB_FLUSH_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_COUNT">MOB_FLUSHED_CELLS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_COUNT_DESC">MOB_FLUSHED_CELLS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_SIZE">MOB_FLUSHED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_SIZE_DESC">MOB_FLUSHED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_COUNT">MOB_SCAN_CELLS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_COUNT_DESC">MOB_SCAN_CELLS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/re
 gionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_SIZE">MOB_SCAN_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_SIZE_DESC">MOB_SCAN_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MUTATE_KEY">MUTATE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#NUMBER_OF_MUTATIONS_WITHOUT_WAL">NUMBER_OF_MUTATIONS_WITHOUT_WAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC">NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL">PERCENT_FILES_LOCAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_DESC">PERCENT_FILES_LOCAL_DESC</a>, <a href="../../../../
 ../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_SECONDARY_REGIONS">PERCENT_FILES_LOCAL_SECONDARY_REGIONS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC">PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#READ_REQUEST_COUNT">READ_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#READ_REQUEST_COUNT_DESC">READ_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REGION_COUNT">REGION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REGION_COUNT_DESC">REGION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REPLAY_KEY">REPLAY_KEY</a>, 
 <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RS_START_TIME_DESC">RS_START_TIME_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RS_START_TIME_NAME">RS_START_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SCAN_NEXT_KEY">SCAN_NEXT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SERVER_NAME_DESC">SERVER_NAME_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SERVER_NAME_NAME">SERVER_NAME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_APPEND_DESC">SLOW_APPEND_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_APPEND_KEY">SLOW_APPEND_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegio
 nServerSource.html#SLOW_DELETE_DESC">SLOW_DELETE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_DELETE_KEY">SLOW_DELETE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_GET_DESC">SLOW_GET_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_GET_KEY">SLOW_GET_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_INCREMENT_DESC">SLOW_INCREMENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_INCREMENT_KEY">SLOW_INCREMENT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_MUTATE_DESC">SLOW_MUTATE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_MUTATE_KEY">SLOW_MUTATE_KEY</a>, <a href="../../../../.
 ./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SMALL_COMPACTION_QUEUE_LENGTH">SMALL_COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_KEY">SPLIT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_QUEUE_LENGTH">SPLIT_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_QUEUE_LENGTH_DESC">SPLIT_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_REQUEST_DESC">SPLIT_REQUEST_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_REQUEST_KEY">SPLIT_REQUEST_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_SUCCESS_DESC">SPLIT_SUCCESS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regions
 erver/MetricsRegionServerSource.html#SPLIT_SUCCESS_KEY">SPLIT_SUCCESS_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_BLOOM_SIZE">STATIC_BLOOM_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_BLOOM_SIZE_DESC">STATIC_BLOOM_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_INDEX_SIZE">STATIC_INDEX_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_INDEX_SIZE_DESC">STATIC_INDEX_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STORE_COUNT">STORE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STORE_COUNT_DESC">STORE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_COUNT"
 >STOREFILE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_COUNT_DESC">STOREFILE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_INDEX_SIZE">STOREFILE_INDEX_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_INDEX_SIZE_DESC">STOREFILE_INDEX_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_SIZE">STOREFILE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_SIZE_DESC">STOREFILE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#TOTAL_REQUEST_COUNT">TOTAL_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#TOTAL_REQUEST_COUNT_DESC">TOTAL_REQUEST_COUNT_DES
 C</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#UPDATES_BLOCKED_DESC">UPDATES_BLOCKED_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#UPDATES_BLOCKED_TIME">UPDATES_BLOCKED_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_COUNT">WALFILE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_COUNT_DESC">WALFILE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_SIZE">WALFILE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_SIZE_DESC">WALFILE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WRITE_REQUEST_COUNT">WRITE_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regi
 onserver/MetricsRegionServerSource.html#WRITE_REQUEST_COUNT_DESC">WRITE_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#ZOOKEEPER_QUORUM_DESC">ZOOKEEPER_QUORUM_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#ZOOKEEPER_QUORUM_NAME">ZOOKEEPER_QUORUM_NAME</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#APPEND_KEY">APPEND_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_COUNT">BLOCK_CACHE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_COUNT_DESC">BLOCK_CACHE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EVICTION_COUNT">BLOCK_CACHE_EVICTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EVICTION_COUNT_DESC">BLOCK_CACHE_EVICTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EXPRESS_HIT_PERCENT">BLOCK_CACHE_EXPRESS_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_EXPRESS_HIT_P
 ERCENT_DESC">BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FAILED_INSERTION_COUNT">BLOCK_CACHE_FAILED_INSERTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC">BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FREE_DESC">BLOCK_CACHE_FREE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_FREE_SIZE">BLOCK_CACHE_FREE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_COUNT">BLOCK_CACHE_HIT_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_COUNT_DESC">BLOCK_CACHE_HIT_COUNT_DESC</a>, <a href="../../../
 ../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_PERCENT">BLOCK_CACHE_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_HIT_PERCENT_DESC">BLOCK_CACHE_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_MISS_COUNT">BLOCK_CACHE_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_EVICTION_COUNT">BLOCK_CACHE_PRIMARY_EVICTION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC">BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_HIT_COUNT">BLOCK_CACHE_PRIMARY_HIT_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Metr
 icsRegionServerSource.html#BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC">BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_PRIMARY_MISS_COUNT">BLOCK_CACHE_PRIMARY_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_SIZE">BLOCK_CACHE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_CACHE_SIZE_DESC">BLOCK_CACHE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_COUNT_MISS_COUNT_DESC">BLOCK_COUNT_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC">BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCKED_REQUESTS_COUNT">BLOCKED_REQUESTS_COU
 NT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#BLOCKED_REQUESTS_COUNT_DESC">BLOCKED_REQUESTS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_FROM_MOB">CELLS_COUNT_COMPACTED_FROM_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_FROM_MOB_DESC">CELLS_COUNT_COMPACTED_FROM_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_TO_MOB">CELLS_COUNT_COMPACTED_TO_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_COUNT_COMPACTED_TO_MOB_DESC">CELLS_COUNT_COMPACTED_TO_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_FROM_MOB">CELLS_SIZE_COMPACTED_FROM_MOB</a>, <a href="../../../../../o
 rg/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_FROM_MOB_DESC">CELLS_SIZE_COMPACTED_FROM_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_TO_MOB">CELLS_SIZE_COMPACTED_TO_MOB</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CELLS_SIZE_COMPACTED_TO_MOB_DESC">CELLS_SIZE_COMPACTED_TO_MOB_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_FAILED_COUNT">CHECK_MUTATE_FAILED_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_FAILED_COUNT_DESC">CHECK_MUTATE_FAILED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CHECK_MUTATE_PASSED_COUNT">CHECK_MUTATE_PASSED_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionSe
 rverSource.html#CHECK_MUTATE_PASSED_COUNT_DESC">CHECK_MUTATE_PASSED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CLUSTER_ID_DESC">CLUSTER_ID_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#CLUSTER_ID_NAME">CLUSTER_ID_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS">COMPACTED_CELLS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_DESC">COMPACTED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_SIZE">COMPACTED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTED_CELLS_SIZE_DESC">COMPACTED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#C
 OMPACTION_QUEUE_LENGTH">COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#COMPACTION_QUEUE_LENGTH_DESC">COMPACTION_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DATA_SIZE_WITHOUT_WAL">DATA_SIZE_WITHOUT_WAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DATA_SIZE_WITHOUT_WAL_DESC">DATA_SIZE_WITHOUT_WAL_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#DELETE_KEY">DELETE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT">FILTERED_READ_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FILTERED_READ_REQUEST_COUNT_DESC">FILTERED_READ_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionse
 rver/MetricsRegionServerSource.html#FLUSH_KEY">FLUSH_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_QUEUE_LENGTH">FLUSH_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_QUEUE_LENGTH_DESC">FLUSH_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS">FLUSHED_CELLS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_DESC">FLUSHED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_SIZE">FLUSHED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSHED_CELLS_SIZE_DESC">FLUSHED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#GET_KEY">GET_KEY<
 /a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READ_WINS">HEDGED_READ_WINS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READ_WINS_DESC">HEDGED_READ_WINS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READS">HEDGED_READS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#HEDGED_READS_DESC">HEDGED_READS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#INCREMENT_KEY">INCREMENT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#LARGE_COMPACTION_QUEUE_LENGTH">LARGE_COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS">MAJOR_COMPACTED_CELLS</a>, <a href="../../../../../org/apache
 /hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_DESC">MAJOR_COMPACTED_CELLS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_SIZE">MAJOR_COMPACTED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MAJOR_COMPACTED_CELLS_SIZE_DESC">MAJOR_COMPACTED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MEMSTORE_SIZE">MEMSTORE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MEMSTORE_SIZE_DESC">MEMSTORE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_CONTEXT">METRICS_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_DESCRIPTION">METRICS_DESCRIPTION</a>, <a href="../../../../../org/apache/
 hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_JMX_CONTEXT">METRICS_JMX_CONTEXT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#METRICS_NAME">METRICS_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_ACCESS_COUNT">MOB_FILE_CACHE_ACCESS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_ACCESS_COUNT_DESC">MOB_FILE_CACHE_ACCESS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_COUNT">MOB_FILE_CACHE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_COUNT_DESC">MOB_FILE_CACHE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_EVICTED_COUNT">MOB_FILE_CACHE_EVICTED_COUNT</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_EVICTED_COUNT_DESC">MOB_FILE_CACHE_EVICTED_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_HIT_PERCENT">MOB_FILE_CACHE_HIT_PERCENT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_HIT_PERCENT_DESC">MOB_FILE_CACHE_HIT_PERCENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_MISS_COUNT">MOB_FILE_CACHE_MISS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FILE_CACHE_MISS_COUNT_DESC">MOB_FILE_CACHE_MISS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSH_COUNT">MOB_FLUSH_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSou
 rce.html#MOB_FLUSH_COUNT_DESC">MOB_FLUSH_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_COUNT">MOB_FLUSHED_CELLS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_COUNT_DESC">MOB_FLUSHED_CELLS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_SIZE">MOB_FLUSHED_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_FLUSHED_CELLS_SIZE_DESC">MOB_FLUSHED_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_COUNT">MOB_SCAN_CELLS_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_COUNT_DESC">MOB_SCAN_CELLS_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/re
 gionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_SIZE">MOB_SCAN_CELLS_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MOB_SCAN_CELLS_SIZE_DESC">MOB_SCAN_CELLS_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#MUTATE_KEY">MUTATE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#NUMBER_OF_MUTATIONS_WITHOUT_WAL">NUMBER_OF_MUTATIONS_WITHOUT_WAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC">NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL">PERCENT_FILES_LOCAL</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_DESC">PERCENT_FILES_LOCAL_DESC</a>, <a href="../../../../
 ../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_SECONDARY_REGIONS">PERCENT_FILES_LOCAL_SECONDARY_REGIONS</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC">PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#READ_REQUEST_COUNT">READ_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#READ_REQUEST_COUNT_DESC">READ_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REGION_COUNT">REGION_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REGION_COUNT_DESC">REGION_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#REPLAY_KEY">REPLAY_KEY</a>, 
 <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT">RPC_GET_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT_DESC">RPC_GET_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT">RPC_MULTI_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT_DESC">RPC_MULTI_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT">RPC_MUTATE_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT_DESC">RPC_MUTATE_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC
 _SCAN_REQUEST_COUNT">RPC_SCAN_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT_DESC">RPC_SCAN_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RS_START_TIME_DESC">RS_START_TIME_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RS_START_TIME_NAME">RS_START_TIME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SCAN_NEXT_KEY">SCAN_NEXT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SERVER_NAME_DESC">SERVER_NAME_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SERVER_NAME_NAME">SERVER_NAME_NAME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_APPEND_DESC">SLOW_APPEND_DESC</a>, 
 <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_APPEND_KEY">SLOW_APPEND_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_DELETE_DESC">SLOW_DELETE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_DELETE_KEY">SLOW_DELETE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_GET_DESC">SLOW_GET_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_GET_KEY">SLOW_GET_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_INCREMENT_DESC">SLOW_INCREMENT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_INCREMENT_KEY">SLOW_INCREMENT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerS
 ource.html#SLOW_MUTATE_DESC">SLOW_MUTATE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SLOW_MUTATE_KEY">SLOW_MUTATE_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SMALL_COMPACTION_QUEUE_LENGTH">SMALL_COMPACTION_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_KEY">SPLIT_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_QUEUE_LENGTH">SPLIT_QUEUE_LENGTH</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_QUEUE_LENGTH_DESC">SPLIT_QUEUE_LENGTH_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_REQUEST_DESC">SPLIT_REQUEST_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_REQUEST_KEY">SPLIT_REQUE
 ST_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_SUCCESS_DESC">SPLIT_SUCCESS_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#SPLIT_SUCCESS_KEY">SPLIT_SUCCESS_KEY</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_BLOOM_SIZE">STATIC_BLOOM_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_BLOOM_SIZE_DESC">STATIC_BLOOM_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_INDEX_SIZE">STATIC_INDEX_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STATIC_INDEX_SIZE_DESC">STATIC_INDEX_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STORE_COUNT">STORE_COUNT</a>, <a href="../../../../../org/apache/ha
 doop/hbase/regionserver/MetricsRegionServerSource.html#STORE_COUNT_DESC">STORE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_COUNT">STOREFILE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_COUNT_DESC">STOREFILE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_INDEX_SIZE">STOREFILE_INDEX_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_INDEX_SIZE_DESC">STOREFILE_INDEX_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_SIZE">STOREFILE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#STOREFILE_SIZE_DESC">STOREFILE_SIZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionSe
 rverSource.html#TOTAL_REQUEST_COUNT">TOTAL_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#TOTAL_REQUEST_COUNT_DESC">TOTAL_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#UPDATES_BLOCKED_DESC">UPDATES_BLOCKED_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#UPDATES_BLOCKED_TIME">UPDATES_BLOCKED_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_COUNT">WALFILE_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_COUNT_DESC">WALFILE_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_SIZE">WALFILE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WALFILE_SIZE_DESC">WALFILE_SI
 ZE_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WRITE_REQUEST_COUNT">WRITE_REQUEST_COUNT</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#WRITE_REQUEST_COUNT_DESC">WRITE_REQUEST_COUNT_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#ZOOKEEPER_QUORUM_DESC">ZOOKEEPER_QUORUM_DESC</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#ZOOKEEPER_QUORUM_NAME">ZOOKEEPER_QUORUM_NAME</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.metrics.BaseSource">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
index 565d97b..90e470a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
@@ -442,6 +442,30 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcGetRequestsCount()">getRpcGetRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc get requests to this region server.</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/MetricsRegionServerWrapper.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc multi requests to this region server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc mutate requests to this region server.</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/MetricsRegionServerWrapper.html#getRpcScanRequestsCount()">getRpcScanRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc scan requests to this region server.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getServerName()">getServerName</a></strong>()</code>
 <div class="block">Get ServerName</div>
@@ -1218,13 +1242,53 @@
 <a name="getBlockedRequestsCount()">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
 <pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.374">getBlockedRequestsCount</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Count of requests blocked because the memstore size is larger than blockingMemStoreSize</dd></dl>
 </li>
 </ul>
+<a name="getRpcGetRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcGetRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.379">getRpcGetRequestsCount</a>()</pre>
+<div class="block">Get the number of rpc get requests to this region server.</div>
+</li>
+</ul>
+<a name="getRpcScanRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcScanRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.384">getRpcScanRequestsCount</a>()</pre>
+<div class="block">Get the number of rpc scan requests to this region server.</div>
+</li>
+</ul>
+<a name="getRpcMultiRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcMultiRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.389">getRpcMultiRequestsCount</a>()</pre>
+<div class="block">Get the number of rpc multi requests to this region server.</div>
+</li>
+</ul>
+<a name="getRpcMutateRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getRpcMutateRequestsCount</h4>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#line.394">getRpcMutateRequestsCount</a>()</pre>
+<div class="block">Get the number of rpc mutate requests to this region server.</div>
+</li>
+</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
index 3316d14..4a53abe 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.579">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.599">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</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>
 <div class="block">This is the runnable that will be executed on the executor every PERIOD number of seconds
@@ -199,7 +199,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>lastRan</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.581">lastRan</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.601">lastRan</a></pre>
 </li>
 </ul>
 <a name="lastRequestCount">
@@ -208,7 +208,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lastRequestCount</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.582">lastRequestCount</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.602">lastRequestCount</a></pre>
 </li>
 </ul>
 </li>
@@ -225,7 +225,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.579">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.599">MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable</a>()</pre>
 </li>
 </ul>
 </li>
@@ -242,7 +242,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.585">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html#line.605">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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index 16dcdd6..f443e14 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -2195,7 +2195,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegions</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="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3084">movedRegions</a></pre>
+<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="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3088">movedRegions</a></pre>
 </li>
 </ul>
 <a name="TIMEOUT_REGION_MOVED">
@@ -2204,7 +2204,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TIMEOUT_REGION_MOVED</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3089">TIMEOUT_REGION_MOVED</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3093">TIMEOUT_REGION_MOVED</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegionServer.TIMEOUT_REGION_MOVED">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -3172,7 +3172,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastSequenceId</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2363">getLastSequenceId</a>(byte[]&nbsp;encodedRegionName)</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos.RegionStoreSequenceIds&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2367">getLastSequenceId</a>(byte[]&nbsp;encodedRegionName)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LastSequenceId.html#getLastSequenceId(byte[])">getLastSequenceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LastSequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">LastSequenceId</a></code></dd>
@@ -3187,7 +3187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeAllRegions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2394">closeAllRegions</a>(boolean&nbsp;abort)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2398">closeAllRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Closes all regions.  Called on our way out.
  Assumes that its not possible for new regions to be added to onlineRegions
  while this method runs.</div>
@@ -3199,7 +3199,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeMetaTableRegions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2403">closeMetaTableRegions</a>(boolean&nbsp;abort)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2407">closeMetaTableRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Close meta region if we carry it</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>abort</code> - Whether we're running an abort.</dd></dl>
 </li>
@@ -3210,7 +3210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeUserRegions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2426">closeUserRegions</a>(boolean&nbsp;abort)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2430">closeUserRegions</a>(boolean&nbsp;abort)</pre>
 <div class="block">Schedule closes on all user regions.
  Should be safe calling multiple times because it wont' close regions
  that are already closed or that are closing.</div>
@@ -3223,7 +3223,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getInfoServer</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2442">getInfoServer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/http/InfoServer.html" title="class in org.apache.hadoop.hbase.http">InfoServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2446">getInfoServer</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the info server</dd></dl>
 </li>
 </ul>
@@ -3233,7 +3233,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2450">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2454">isStopped</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped()">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
@@ -3246,7 +3246,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopping</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2455">isStopping</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2459">isStopping</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#isStopping()">isStopping</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3259,7 +3259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRecoveringRegions</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="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2460">getRecoveringRegions</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="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2464">getRecoveringRegions</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRecoveringRegions()">getRecoveringRegions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3272,7 +3272,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2469">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2473">getConfiguration</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getConfiguration()">Server</a></code></strong></div>
 <div class="block">Gets the configuration object for this server.</div>
 <dl>
@@ -3287,7 +3287,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteLock</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2474">getWriteLock</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.WriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock.WriteLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2478">getWriteLock</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the write lock for the server</dd></dl>
 </li>
 </ul>
@@ -3297,7 +3297,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumberOfOnlineRegions</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2478">getNumberOfOnlineRegions</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2482">getNumberOfOnlineRegions</a>()</pre>
 </li>
 </ul>
 <a name="isOnlineRegionsEmpty()">
@@ -3306,7 +3306,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isOnlineRegionsEmpty</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2482">isOnlineRegionsEmpty</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2486">isOnlineRegionsEmpty</a>()</pre>
 </li>
 </ul>
 <a name="getOnlineRegionsLocalContext()">
@@ -3315,7 +3315,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegionsLocalContext</h4>
-<pre>public&nbsp;<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/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2491">getOnlineRegionsLocalContext</a>()</pre>
+<pre>public&nbsp;<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/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2495">getOnlineRegionsLocalContext</a>()</pre>
 <div class="block">For tests, web ui and metrics.
  This method will only work if HRegionServer is in the same JVM as client;
  HRegion cannot be serialized to cross an rpc.</div>
@@ -3327,7 +3327,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>addToOnlineRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2497">addToOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2501">addToOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#addToOnlineRegions(org.apache.hadoop.hbase.regionserver.Region)">OnlineRegions</a></code></strong></div>
 <div class="block">Add to online regions.</div>
 <dl>
@@ -3342,7 +3342,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCopyOfOnlineRegionsSortedBySize</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2507">getCopyOfOnlineRegionsSortedBySize</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html?is-external=true" title="class or interface in java.util">SortedMap</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="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2511">getCopyOfOnlineRegionsSortedBySize</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>A new Map of online regions sorted by region size with the first entry being the
  biggest.  If two regions are the same size, then the last one found wins; i.e. this method
  may NOT return all regions.</dd></dl>
@@ -3354,7 +3354,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartcode</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2526">getStartcode</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2530">getStartcode</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>time stamp in millis of when this region server was started</dd></dl>
 </li>
 </ul>
@@ -3364,7 +3364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushRequester</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2532">getFlushRequester</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushRequester.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushRequester</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2536">getFlushRequester</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushRequester()">getFlushRequester</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3377,7 +3377,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMostLoadedRegions</h4>
-<pre>protected&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/HRegionServer.html#line.2542">getMostLoadedRegions</a>()</pre>
+<pre>protected&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/HRegionServer.html#line.2546">getMostLoadedRegions</a>()</pre>
 <div class="block">Get the top N most loaded regions this server is serving so we can tell the
  master which regions it can reallocate if we're overloaded. TODO: actually
  calculate which regions are most loaded. (Right now, we're just grabbing
@@ -3390,7 +3390,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getLeases</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2558">getLeases</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.html" title="class in org.apache.hadoop.hbase.regionserver">Leases</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2562">getLeases</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getLeases()">getLeases</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3403,7 +3403,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRootDir</h4>
-<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2565">getRootDir</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2569">getRootDir</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Return the rootDir.</dd></dl>
 </li>
 </ul>
@@ -3413,7 +3413,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFileSystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2573">getFileSystem</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2577">getFileSystem</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFileSystem()">getFileSystem</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3426,7 +3426,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <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/HRegionServer.html#line.2578">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/HRegionServer.html#line.2582">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>
@@ -3439,7 +3439,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getThreadWakeFrequency</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2587">getThreadWakeFrequency</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2591">getThreadWakeFrequency</a>()</pre>
 <div class="block">Interval at which threads should run</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the interval</dd></dl>
 </li>
@@ -3450,7 +3450,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeper</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2592">getZooKeeper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2596">getZooKeeper</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getZooKeeper()">Server</a></code></strong></div>
 <div class="block">Gets the ZooKeeper instance for this server.</div>
 <dl>
@@ -3465,7 +3465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoordinatedStateManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2597">getCoordinatedStateManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coordination/BaseCoordinatedStateManager.html" title="class in org.apache.hadoop.hbase.coordination">BaseCoordinatedStateManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2601">getCoordinatedStateManager</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getCoordinatedStateManager()">Server</a></code></strong></div>
 <div class="block">Get CoordinatedStateManager instance for this server.</div>
 <dl>
@@ -3480,7 +3480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</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/regionserver/HRegionServer.html#line.2602">getServerName</a>()</pre>
+<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/regionserver/HRegionServer.html#line.2606">getServerName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getServerName()">getServerName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -3493,7 +3493,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionRequester</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html" title="interface in org.apache.hadoop.hbase.regionserver">CompactionRequestor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2607">getCompactionRequester</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactionRequestor.html" title="interface in org.apache.hadoop.hbase.regionserver">CompactionRequestor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2611">getCompactionRequester</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getCompactionRequester()">getCompactionRequester</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3506,7 +3506,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2611">getRegionServerCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2615">getRegionServerCoprocessorHost</a>()</pre>
 </li>
 </ul>
 <a name="getRegionsInTransitionInRS()">
@@ -3515,7 +3515,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionsInTransitionInRS</h4>
-<pre>public&nbsp;<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;byte[],<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2616">getRegionsInTransitionInRS</a>()</pre>
+<pre>public&nbsp;<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;byte[],<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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2620">getRegionsInTransitionInRS</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionsInTransitionInRS()">RegionServerServices</a></code></strong></div>
 <div class="block">Get the regions that are currently being opened or closed in the RS</div>
 <dl>
@@ -3530,7 +3530,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getExecutorService</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2621">getExecutorService</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2625">getExecutorService</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getExecutorService()">getExecutorService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3543,7 +3543,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getChoreService</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2626">getChoreService</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ChoreService.html" title="class in org.apache.hadoop.hbase">ChoreService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2630">getChoreService</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Server.html#getChoreService()">getChoreService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></dd>
@@ -3556,7 +3556,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerQuotaManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2631">getRegionServerQuotaManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2635">getRegionServerQuotaManager</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getRegionServerQuotaManager()">getRegionServerQuotaManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -3569,7 +3569,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>createNewReplicationInstance</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2642">createNewReplicationInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2646">createNewReplicationInstance</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                                 org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                 org.apache.hadoop.fs.Path&nbsp;logDir,
@@ -3586,7 +3586,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>newReplicationInstance</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2677">newReplicationInstance</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;classname,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2681">newReplicationInstance</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;classname,
                                         org.apache.hadoop.conf.Configuration&nbsp;conf,
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;server,
                                         org.apache.hadoop.fs.FileSystem&nbsp;fs,
@@ -3603,7 +3603,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>constructRegionServer</h4>
-<pre>public static&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/regionserver/HRegionServer.html#line.2703">constructRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&gt;&nbsp;regionServerClass,
+<pre>public static&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/regionserver/HRegionServer.html#line.2707">constructRegionServer</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&gt;&nbsp;regionServerClass,
                                   org.apache.hadoop.conf.Configuration&nbsp;conf2,
                                   <a href="../../../../../org/apache/hadoop/hbase/CoordinatedStateManager.html" title="interface in org.apache.hadoop.hbase">CoordinatedStateManager</a>&nbsp;cp)</pre>
 <div class="block">Utility for constructing an instance of the passed HRegionServer class.</div>
@@ -3617,7 +3617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2719">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2723">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServerCommandLine</code></a></dd></dl>
@@ -3629,7 +3629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegions</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/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2740">getOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</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/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2744">getOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 <div class="block">Gets the online regions of the specified table.
  This method looks at the in-memory onlineRegions.  It does not go to <code>hbase:meta</code>.
  Only returns <em>online</em> regions.  If a region on this table has been
@@ -3649,7 +3649,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegions</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/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2754">getOnlineRegions</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="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2758">getOnlineRegions</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#getOnlineRegions()">OnlineRegions</a></code></strong></div>
 <div class="block">Get all online regions in this RS.</div>
 <dl>
@@ -3664,7 +3664,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineTables</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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2768">getOnlineTables</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2772">getOnlineTables</a>()</pre>
 <div class="block">Gets the online tables in this RS.
  This method looks at the in-memory onlineRegions.</div>
 <dl>
@@ -3679,7 +3679,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerCoprocessors</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/HRegionServer.html#line.2779">getRegionServerCoprocessors</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/HRegionServer.html#line.2783">getRegionServerCoprocessors</a>()</pre>
 </li>
 </ul>
 <a name="closeRegionIgnoreErrors(org.apache.hadoop.hbase.HRegionInfo, boolean)">
@@ -3688,7 +3688,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionIgnoreErrors</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2806">closeRegionIgnoreErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2810">closeRegionIgnoreErrors</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;region,
                            boolean&nbsp;abort)</pre>
 <div class="block">Try to close the region, logs a warning on failure but continues.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>region</code> - Region to close</dd></dl>
@@ -3700,7 +3700,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2836">closeRegion</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;encodedName,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2840">closeRegion</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;encodedName,
                   boolean&nbsp;abort,
                   <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;sn)
                        throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
@@ -3727,7 +3727,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2900">getOnlineRegion</a>(byte[]&nbsp;regionName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2904">getOnlineRegion</a>(byte[]&nbsp;regionName)</pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - </dd>
 <dt><span class="strong">Returns:</span></dt><dd>HRegion for the passed binary <code>regionName</code> or null if
          named region is not member of the online regions.</dd></dl>
@@ -3739,7 +3739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionBlockLocations</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2905">getRegionBlockLocations</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;encodedRegionName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2909">getRegionBlockLocations</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;encodedRegionName)</pre>
 </li>
 </ul>
 <a name="getFromOnlineRegions(java.lang.String)">
@@ -3748,7 +3748,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromOnlineRegions</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2910">getFromOnlineRegions</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;encodedRegionName)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2914">getFromOnlineRegions</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;encodedRegionName)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#getFromOnlineRegions(java.lang.String)">OnlineRegions</a></code></strong></div>
 <div class="block">Return <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>Region</code></a> instance.
  Only works if caller is in same context, in same JVM. Region is not
@@ -3766,7 +3766,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromOnlineRegions</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2916">removeFromOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2920">removeFromOnlineRegions</a>(<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/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destination)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#removeFromOnlineRegions(org.apache.hadoop.hbase.regionserver.Region,%20org.apache.hadoop.hbase.ServerName)">OnlineRegions</a></code></strong></div>
 <div class="block">This method removes Region corresponding to hri from the Map of onlineRegions.</div>
@@ -3783,7 +3783,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegion</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2939">getRegion</a>(byte[]&nbsp;regionName)
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2943">getRegion</a>(byte[]&nbsp;regionName)
                     throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
 <div class="block">Protected utility method for safely obtaining an HRegion handle.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - Name of online <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion</code></a> to return</dd>
@@ -3798,7 +3798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionByEncodedName</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2945">getRegionByEncodedName</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;encodedRegionName)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2949">getRegionByEncodedName</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;encodedRegionName)
                               throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></code></dd></dl>
@@ -3810,7 +3810,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionByEncodedName</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2950">getRegionByEncodedName</a>(byte[]&nbsp;regionName,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2954">getRegionByEncodedName</a>(byte[]&nbsp;regionName,
                             <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;encodedRegionName)
                                  throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3823,7 +3823,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanup</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2981">cleanup</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.2985">cleanup</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                 <a href="http://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>
 </li>
 </ul>
@@ -3833,7 +3833,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>convertThrowableToIOE</h4>
-<pre>protected&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/HRegionServer.html#line.3006">convertThrowableToIOE</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
+<pre>protected&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/HRegionServer.html#line.3010">convertThrowableToIOE</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                                 <a href="http://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>
 </li>
 </ul>
@@ -3843,7 +3843,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFileSystem</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3017">checkFileSystem</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3021">checkFileSystem</a>()</pre>
 <div class="block">Checks to see if the file system is still accessible. If not, sets
  abortRequested and stopRequested</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>false if file system is not available</dd></dl>
@@ -3855,7 +3855,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>updateRegionFavoredNodesMapping</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3030">updateRegionFavoredNodesMapping</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;encodedRegionName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3034">updateRegionFavoredNodesMapping</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;encodedRegionName,
                                    <a href="http://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.hbase.protobuf.generated.HBaseProtos.ServerName&gt;&nbsp;favoredNodes)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.html#updateRegionFavoredNodesMapping(java.lang.String,%20java.util.List)">FavoredNodesForRegion</a></code></strong></div>
 <div class="block">Used to update the favored nodes mapping when required.</div>
@@ -3871,7 +3871,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFavoredNodesForRegion</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3049">getFavoredNodesForRegion</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;encodedRegionName)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3053">getFavoredNodesForRegion</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;encodedRegionName)</pre>
 <div class="block">Return the favored nodes for a region given its encoded name. Look at the
  comment around <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#regionFavoredNodesMap"><code>regionFavoredNodesMap</code></a> on why it is InetSocketAddress[]</div>
 <dl>
@@ -3887,7 +3887,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3054">getNonceManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3058">getNonceManager</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getNonceManager()">RegionServerServices</a></code></strong></div>
 <div class="block">Only required for "old" log replay; if it's removed, remove this.</div>
 <dl>
@@ -3902,7 +3902,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>addToMovedRegions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3091">addToMovedRegions</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;encodedName,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3095">addToMovedRegions</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;encodedName,
                      <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;destination,
                      long&nbsp;closeSeqNum)</pre>
 </li>
@@ -3913,7 +3913,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>removeFromMovedRegions</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3101">removeFromMovedRegions</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;encodedName)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3105">removeFromMovedRegions</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;encodedName)</pre>
 </li>
 </ul>
 <a name="getMovedRegion(java.lang.String)">
@@ -3922,7 +3922,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMovedRegion</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3105">getMovedRegion</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;encodedRegionName)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3109">getMovedRegion</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;encodedRegionName)</pre>
 </li>
 </ul>
 <a name="cleanMovedRegions()">
@@ -3931,7 +3931,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanMovedRegions</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3123">cleanMovedRegions</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3127">cleanMovedRegions</a>()</pre>
 <div class="block">Remove the expired entries from the moved regions list.</div>
 </li>
 </ul>
@@ -3941,7 +3941,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>movedRegionCleanerPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3139">movedRegionCleanerPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3143">movedRegionCleanerPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getMyEphemeralNodePath()">
@@ -3950,7 +3950,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getMyEphemeralNodePath</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3185">getMyEphemeralNodePath</a>()</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3189">getMyEphemeralNodePath</a>()</pre>
 </li>
 </ul>
 <a name="isHealthCheckerConfigured()">
@@ -3959,7 +3959,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>isHealthCheckerConfigured</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3189">isHealthCheckerConfigured</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3193">isHealthCheckerConfigured</a>()</pre>
 </li>
 </ul>
 <a name="getCompactSplitThread()">
@@ -3968,7 +3968,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactSplitThread</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3197">getCompactSplitThread</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3201">getCompactSplitThread</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the underlying <a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.html" title="class in org.apache.hadoop.hbase.regionserver"><code>CompactSplitThread</code></a> for the servers</dd></dl>
 </li>
 </ul>
@@ -3978,7 +3978,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>updateRecoveringRegionLastFlushedSequenceId</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3208">updateRecoveringRegionLastFlushedSequenceId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3212">updateRecoveringRegionLastFlushedSequenceId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
                                                   throws org.apache.zookeeper.KeeperException,
                                                          <a href="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 helper function to store the last flushed sequence Id with the previous failed RS for a
@@ -3995,7 +3995,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastFailedRSFromZK</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3265">getLastFailedRSFromZK</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;encodedRegionName)
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3269">getLastFailedRSFromZK</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;encodedRegionName)
                               throws org.apache.zookeeper.KeeperException</pre>
 <div class="block">Return the last failed RS name under /hbase/recovering-regions/encodedRegionName</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>encodedRegionName</code> - </dd>
@@ -4009,7 +4009,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>execRegionServerService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3286">execRegionServerService</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3290">execRegionServerService</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                                          org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest&nbsp;serviceRequest)
                                                                                                            throws com.google.protobuf.ServiceException</pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4022,7 +4022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCacheConfig</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3338">getCacheConfig</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.html" title="class in org.apache.hadoop.hbase.io.hfile">CacheConfig</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3342">getCacheConfig</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>The cache config instance used by the regionserver.</dd></dl>
 </li>
 </ul>
@@ -4032,7 +4032,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfigurationManager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3345">getConfigurationManager</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3349">getConfigurationManager</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>: Returns the ConfigurationManager object for testing purposes.</dd></dl>
 </li>
 </ul>
@@ -4042,7 +4042,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptors</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3352">getTableDescriptors</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3356">getTableDescriptors</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Return table descriptors implementation.</dd></dl>
 </li>
 </ul>
@@ -4052,7 +4052,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>updateConfiguration</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3359">updateConfiguration</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3363">updateConfiguration</a>()</pre>
 <div class="block">Reload the configuration from disk.</div>
 </li>
 </ul>
@@ -4062,7 +4062,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeapMemoryManager</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3367">getHeapMemoryManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HeapMemoryManager.html" title="class in org.apache.hadoop.hbase.regionserver">HeapMemoryManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3371">getHeapMemoryManager</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getHeapMemoryManager()">getHeapMemoryManager</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -4075,7 +4075,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionPressure</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3372">getCompactionPressure</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3376">getCompactionPressure</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getCompactionPressure()">getCompactionPressure</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -4090,7 +4090,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>walRollRequestFinished</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3390">walRollRequestFinished</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3394">walRollRequestFinished</a>()</pre>
 <div class="block">For testing</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>whether all wal roll request finished for this regionserver</dd></dl>
 </li>
@@ -4101,7 +4101,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushThroughputController</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3395">getFlushThroughputController</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3399">getFlushThroughputController</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushThroughputController()">getFlushThroughputController</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -4114,7 +4114,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushPressure</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3400">getFlushPressure</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3404">getFlushPressure</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getFlushPressure()">getFlushPressure</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></code></dd>
@@ -4129,7 +4129,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3410">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3414">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">ConfigurationObserver</a></code></strong></div>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
index 0c2b32e..76ab3e2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html
@@ -338,7 +338,19 @@
 <span class="sourceLineNo">330</span>  String SPLIT_SUCCESS_KEY = "splitSuccessCount";<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  String SPLIT_SUCCESS_DESC = "Number of successfully executed splits";<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  String FLUSH_KEY = "flushTime";<a name="line.332"></a>
-<span class="sourceLineNo">333</span>}<a name="line.333"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  String RPC_GET_REQUEST_COUNT = "rpcGetRequestCount";<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  String RPC_GET_REQUEST_COUNT_DESC = "Number of rpc get requests this region server has answered.";<a name="line.335"></a>
+<span class="sourceLineNo">336</span>  String RPC_SCAN_REQUEST_COUNT = "rpcScanRequestCount";<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  String RPC_SCAN_REQUEST_COUNT_DESC =<a name="line.337"></a>
+<span class="sourceLineNo">338</span>      "Number of rpc scan requests this region server has answered.";<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  String RPC_MULTI_REQUEST_COUNT = "rpcMultiRequestCount";<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  String RPC_MULTI_REQUEST_COUNT_DESC =<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      "Number of rpc multi requests this region server has answered.";<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  String RPC_MUTATE_REQUEST_COUNT = "rpcMutateRequestCount";<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  String RPC_MUTATE_REQUEST_COUNT_DESC =<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      "Number of rpc mutation requests this region server has answered.";<a name="line.344"></a>
+<span class="sourceLineNo">345</span>}<a name="line.345"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
index c316037..466ed32 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.html
@@ -213,119 +213,127 @@
 <span class="sourceLineNo">205</span>              rsWrap.getFilteredReadRequestsCount())<a name="line.205"></a>
 <span class="sourceLineNo">206</span>          .addCounter(Interns.info(WRITE_REQUEST_COUNT, WRITE_REQUEST_COUNT_DESC),<a name="line.206"></a>
 <span class="sourceLineNo">207</span>              rsWrap.getWriteRequestsCount())<a name="line.207"></a>
-<span class="sourceLineNo">208</span>          .addCounter(Interns.info(CHECK_MUTATE_FAILED_COUNT, CHECK_MUTATE_FAILED_COUNT_DESC),<a name="line.208"></a>
-<span class="sourceLineNo">209</span>              rsWrap.getCheckAndMutateChecksFailed())<a name="line.209"></a>
-<span class="sourceLineNo">210</span>          .addCounter(Interns.info(CHECK_MUTATE_PASSED_COUNT, CHECK_MUTATE_PASSED_COUNT_DESC),<a name="line.210"></a>
-<span class="sourceLineNo">211</span>              rsWrap.getCheckAndMutateChecksPassed())<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          .addGauge(Interns.info(STOREFILE_INDEX_SIZE, STOREFILE_INDEX_SIZE_DESC),<a name="line.212"></a>
-<span class="sourceLineNo">213</span>              rsWrap.getStoreFileIndexSize())<a name="line.213"></a>
-<span class="sourceLineNo">214</span>          .addGauge(Interns.info(STATIC_INDEX_SIZE, STATIC_INDEX_SIZE_DESC),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>              rsWrap.getTotalStaticIndexSize())<a name="line.215"></a>
-<span class="sourceLineNo">216</span>          .addGauge(Interns.info(STATIC_BLOOM_SIZE, STATIC_BLOOM_SIZE_DESC),<a name="line.216"></a>
-<span class="sourceLineNo">217</span>            rsWrap.getTotalStaticBloomSize())<a name="line.217"></a>
-<span class="sourceLineNo">218</span>          .addGauge(<a name="line.218"></a>
-<span class="sourceLineNo">219</span>            Interns.info(NUMBER_OF_MUTATIONS_WITHOUT_WAL, NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC),<a name="line.219"></a>
-<span class="sourceLineNo">220</span>              rsWrap.getNumMutationsWithoutWAL())<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          .addGauge(Interns.info(DATA_SIZE_WITHOUT_WAL, DATA_SIZE_WITHOUT_WAL_DESC),<a name="line.221"></a>
-<span class="sourceLineNo">222</span>              rsWrap.getDataInMemoryWithoutWAL())<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          .addGauge(Interns.info(PERCENT_FILES_LOCAL, PERCENT_FILES_LOCAL_DESC),<a name="line.223"></a>
-<span class="sourceLineNo">224</span>              rsWrap.getPercentFileLocal())<a name="line.224"></a>
-<span class="sourceLineNo">225</span>          .addGauge(Interns.info(PERCENT_FILES_LOCAL_SECONDARY_REGIONS,<a name="line.225"></a>
-<span class="sourceLineNo">226</span>              PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC),<a name="line.226"></a>
-<span class="sourceLineNo">227</span>              rsWrap.getPercentFileLocalSecondaryRegions())<a name="line.227"></a>
-<span class="sourceLineNo">228</span>          .addGauge(Interns.info(SPLIT_QUEUE_LENGTH, SPLIT_QUEUE_LENGTH_DESC),<a name="line.228"></a>
-<span class="sourceLineNo">229</span>              rsWrap.getSplitQueueSize())<a name="line.229"></a>
-<span class="sourceLineNo">230</span>          .addGauge(Interns.info(COMPACTION_QUEUE_LENGTH, COMPACTION_QUEUE_LENGTH_DESC),<a name="line.230"></a>
-<span class="sourceLineNo">231</span>              rsWrap.getCompactionQueueSize())<a name="line.231"></a>
-<span class="sourceLineNo">232</span>          .addGauge(Interns.info(FLUSH_QUEUE_LENGTH, FLUSH_QUEUE_LENGTH_DESC),<a name="line.232"></a>
-<span class="sourceLineNo">233</span>              rsWrap.getFlushQueueSize())<a name="line.233"></a>
-<span class="sourceLineNo">234</span>          .addGauge(Interns.info(BLOCK_CACHE_FREE_SIZE, BLOCK_CACHE_FREE_DESC),<a name="line.234"></a>
-<span class="sourceLineNo">235</span>              rsWrap.getBlockCacheFreeSize())<a name="line.235"></a>
-<span class="sourceLineNo">236</span>          .addGauge(Interns.info(BLOCK_CACHE_COUNT, BLOCK_CACHE_COUNT_DESC),<a name="line.236"></a>
-<span class="sourceLineNo">237</span>              rsWrap.getBlockCacheCount())<a name="line.237"></a>
-<span class="sourceLineNo">238</span>          .addGauge(Interns.info(BLOCK_CACHE_SIZE, BLOCK_CACHE_SIZE_DESC),<a name="line.238"></a>
-<span class="sourceLineNo">239</span>              rsWrap.getBlockCacheSize())<a name="line.239"></a>
-<span class="sourceLineNo">240</span>          .addCounter(Interns.info(BLOCK_CACHE_HIT_COUNT, BLOCK_CACHE_HIT_COUNT_DESC),<a name="line.240"></a>
-<span class="sourceLineNo">241</span>              rsWrap.getBlockCacheHitCount())<a name="line.241"></a>
-<span class="sourceLineNo">242</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_HIT_COUNT,<a name="line.242"></a>
-<span class="sourceLineNo">243</span>            BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC), rsWrap.getBlockCachePrimaryHitCount())<a name="line.243"></a>
-<span class="sourceLineNo">244</span>          .addCounter(Interns.info(BLOCK_CACHE_MISS_COUNT, BLOCK_COUNT_MISS_COUNT_DESC),<a name="line.244"></a>
-<span class="sourceLineNo">245</span>              rsWrap.getBlockCacheMissCount())<a name="line.245"></a>
-<span class="sourceLineNo">246</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_MISS_COUNT,<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC), rsWrap.getBlockCachePrimaryMissCount())<a name="line.247"></a>
-<span class="sourceLineNo">248</span>          .addCounter(Interns.info(BLOCK_CACHE_EVICTION_COUNT, BLOCK_CACHE_EVICTION_COUNT_DESC),<a name="line.248"></a>
-<span class="sourceLineNo">249</span>              rsWrap.getBlockCacheEvictedCount())<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_EVICTION_COUNT,<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC), rsWrap.getBlockCachePrimaryEvictedCount())<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          .addGauge(Interns.info(BLOCK_CACHE_HIT_PERCENT, BLOCK_CACHE_HIT_PERCENT_DESC),<a name="line.252"></a>
-<span class="sourceLineNo">253</span>              rsWrap.getBlockCacheHitPercent())<a name="line.253"></a>
-<span class="sourceLineNo">254</span>          .addGauge(Interns.info(BLOCK_CACHE_EXPRESS_HIT_PERCENT,<a name="line.254"></a>
-<span class="sourceLineNo">255</span>              BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC), rsWrap.getBlockCacheHitCachingPercent())<a name="line.255"></a>
-<span class="sourceLineNo">256</span>          .addCounter(Interns.info(BLOCK_CACHE_FAILED_INSERTION_COUNT,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>              BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC),rsWrap.getBlockCacheFailedInsertions())<a name="line.257"></a>
-<span class="sourceLineNo">258</span>          .addCounter(Interns.info(UPDATES_BLOCKED_TIME, UPDATES_BLOCKED_DESC),<a name="line.258"></a>
-<span class="sourceLineNo">259</span>              rsWrap.getUpdatesBlockedTime())<a name="line.259"></a>
-<span class="sourceLineNo">260</span>          .addCounter(Interns.info(FLUSHED_CELLS, FLUSHED_CELLS_DESC),<a name="line.260"></a>
-<span class="sourceLineNo">261</span>              rsWrap.getFlushedCellsCount())<a name="line.261"></a>
-<span class="sourceLineNo">262</span>          .addCounter(Interns.info(COMPACTED_CELLS, COMPACTED_CELLS_DESC),<a name="line.262"></a>
-<span class="sourceLineNo">263</span>              rsWrap.getCompactedCellsCount())<a name="line.263"></a>
-<span class="sourceLineNo">264</span>          .addCounter(Interns.info(MAJOR_COMPACTED_CELLS, MAJOR_COMPACTED_CELLS_DESC),<a name="line.264"></a>
-<span class="sourceLineNo">265</span>              rsWrap.getMajorCompactedCellsCount())<a name="line.265"></a>
-<span class="sourceLineNo">266</span>          .addCounter(Interns.info(FLUSHED_CELLS_SIZE, FLUSHED_CELLS_SIZE_DESC),<a name="line.266"></a>
-<span class="sourceLineNo">267</span>              rsWrap.getFlushedCellsSize())<a name="line.267"></a>
-<span class="sourceLineNo">268</span>          .addCounter(Interns.info(COMPACTED_CELLS_SIZE, COMPACTED_CELLS_SIZE_DESC),<a name="line.268"></a>
-<span class="sourceLineNo">269</span>              rsWrap.getCompactedCellsSize())<a name="line.269"></a>
-<span class="sourceLineNo">270</span>          .addCounter(Interns.info(MAJOR_COMPACTED_CELLS_SIZE, MAJOR_COMPACTED_CELLS_SIZE_DESC),<a name="line.270"></a>
-<span class="sourceLineNo">271</span>              rsWrap.getMajorCompactedCellsSize())<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>          .addCounter(<a name="line.273"></a>
-<span class="sourceLineNo">274</span>              Interns.info(CELLS_COUNT_COMPACTED_FROM_MOB, CELLS_COUNT_COMPACTED_FROM_MOB_DESC),<a name="line.274"></a>
-<span class="sourceLineNo">275</span>              rsWrap.getCellsCountCompactedFromMob())<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          .addCounter(Interns.info(CELLS_COUNT_COMPACTED_TO_MOB, CELLS_COUNT_COMPACTED_TO_MOB_DESC),<a name="line.276"></a>
-<span class="sourceLineNo">277</span>              rsWrap.getCellsCountCompactedToMob())<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          .addCounter(<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              Interns.info(CELLS_SIZE_COMPACTED_FROM_MOB, CELLS_SIZE_COMPACTED_FROM_MOB_DESC),<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              rsWrap.getCellsSizeCompactedFromMob())<a name="line.280"></a>
-<span class="sourceLineNo">281</span>          .addCounter(Interns.info(CELLS_SIZE_COMPACTED_TO_MOB, CELLS_SIZE_COMPACTED_TO_MOB_DESC),<a name="line.281"></a>
-<span class="sourceLineNo">282</span>              rsWrap.getCellsSizeCompactedToMob())<a name="line.282"></a>
-<span class="sourceLineNo">283</span>          .addCounter(Interns.info(MOB_FLUSH_COUNT, MOB_FLUSH_COUNT_DESC),<a name="line.283"></a>
-<span class="sourceLineNo">284</span>              rsWrap.getMobFlushCount())<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          .addCounter(Interns.info(MOB_FLUSHED_CELLS_COUNT, MOB_FLUSHED_CELLS_COUNT_DESC),<a name="line.285"></a>
-<span class="sourceLineNo">286</span>              rsWrap.getMobFlushedCellsCount())<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          .addCounter(Interns.info(MOB_FLUSHED_CELLS_SIZE, MOB_FLUSHED_CELLS_SIZE_DESC),<a name="line.287"></a>
-<span class="sourceLineNo">288</span>              rsWrap.getMobFlushedCellsSize())<a name="line.288"></a>
-<span class="sourceLineNo">289</span>          .addCounter(Interns.info(MOB_SCAN_CELLS_COUNT, MOB_SCAN_CELLS_COUNT_DESC),<a name="line.289"></a>
-<span class="sourceLineNo">290</span>              rsWrap.getMobScanCellsCount())<a name="line.290"></a>
-<span class="sourceLineNo">291</span>          .addCounter(Interns.info(MOB_SCAN_CELLS_SIZE, MOB_SCAN_CELLS_SIZE_DESC),<a name="line.291"></a>
-<span class="sourceLineNo">292</span>              rsWrap.getMobScanCellsSize())<a name="line.292"></a>
-<span class="sourceLineNo">293</span>          .addGauge(Interns.info(MOB_FILE_CACHE_COUNT, MOB_FILE_CACHE_COUNT_DESC),<a name="line.293"></a>
-<span class="sourceLineNo">294</span>              rsWrap.getMobFileCacheCount())<a name="line.294"></a>
-<span class="sourceLineNo">295</span>          .addCounter(Interns.info(MOB_FILE_CACHE_ACCESS_COUNT, MOB_FILE_CACHE_ACCESS_COUNT_DESC),<a name="line.295"></a>
-<span class="sourceLineNo">296</span>              rsWrap.getMobFileCacheAccessCount())<a name="line.296"></a>
-<span class="sourceLineNo">297</span>          .addCounter(Interns.info(MOB_FILE_CACHE_MISS_COUNT, MOB_FILE_CACHE_MISS_COUNT_DESC),<a name="line.297"></a>
-<span class="sourceLineNo">298</span>              rsWrap.getMobFileCacheMissCount())<a name="line.298"></a>
-<span class="sourceLineNo">299</span>          .addCounter(<a name="line.299"></a>
-<span class="sourceLineNo">300</span>              Interns.info(MOB_FILE_CACHE_EVICTED_COUNT, MOB_FILE_CACHE_EVICTED_COUNT_DESC),<a name="line.300"></a>
-<span class="sourceLineNo">301</span>              rsWrap.getMobFileCacheEvictedCount())<a name="line.301"></a>
-<span class="sourceLineNo">302</span>          .addGauge(Interns.info(MOB_FILE_CACHE_HIT_PERCENT, MOB_FILE_CACHE_HIT_PERCENT_DESC),<a name="line.302"></a>
-<span class="sourceLineNo">303</span>              rsWrap.getMobFileCacheHitPercent())<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>          .addCounter(Interns.info(HEDGED_READS, HEDGED_READS_DESC), rsWrap.getHedgedReadOps())<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          .addCounter(Interns.info(HEDGED_READ_WINS, HEDGED_READ_WINS_DESC),<a name="line.306"></a>
-<span class="sourceLineNo">307</span>              rsWrap.getHedgedReadWins())<a name="line.307"></a>
-<span class="sourceLineNo">308</span><a name="line.308"></a>
-<span class="sourceLineNo">309</span>          .addCounter(Interns.info(BLOCKED_REQUESTS_COUNT, BLOCKED_REQUESTS_COUNT_DESC),<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            rsWrap.getBlockedRequestsCount())<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>          .tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>              rsWrap.getZookeeperQuorum())<a name="line.313"></a>
-<span class="sourceLineNo">314</span>          .tag(Interns.info(SERVER_NAME_NAME, SERVER_NAME_DESC), rsWrap.getServerName())<a name="line.314"></a>
-<span class="sourceLineNo">315</span>          .tag(Interns.info(CLUSTER_ID_NAME, CLUSTER_ID_DESC), rsWrap.getClusterId());<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>    metricsRegistry.snapshot(mrb, all);<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">208</span>          .addCounter(Interns.info(RPC_GET_REQUEST_COUNT, RPC_GET_REQUEST_COUNT_DESC),<a name="line.208"></a>
+<span class="sourceLineNo">209</span>            rsWrap.getRpcGetRequestsCount())<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          .addCounter(Interns.info(RPC_SCAN_REQUEST_COUNT, RPC_SCAN_REQUEST_COUNT_DESC),<a name="line.210"></a>
+<span class="sourceLineNo">211</span>            rsWrap.getRpcScanRequestsCount())<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          .addCounter(Interns.info(RPC_MULTI_REQUEST_COUNT, RPC_MULTI_REQUEST_COUNT_DESC),<a name="line.212"></a>
+<span class="sourceLineNo">213</span>            rsWrap.getRpcMultiRequestsCount())<a name="line.213"></a>
+<span class="sourceLineNo">214</span>          .addCounter(Interns.info(RPC_MUTATE_REQUEST_COUNT, RPC_MUTATE_REQUEST_COUNT_DESC),<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            rsWrap.getRpcMutateRequestsCount())<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          .addCounter(Interns.info(CHECK_MUTATE_FAILED_COUNT, CHECK_MUTATE_FAILED_COUNT_DESC),<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              rsWrap.getCheckAndMutateChecksFailed())<a name="line.217"></a>
+<span class="sourceLineNo">218</span>          .addCounter(Interns.info(CHECK_MUTATE_PASSED_COUNT, CHECK_MUTATE_PASSED_COUNT_DESC),<a name="line.218"></a>
+<span class="sourceLineNo">219</span>              rsWrap.getCheckAndMutateChecksPassed())<a name="line.219"></a>
+<span class="sourceLineNo">220</span>          .addGauge(Interns.info(STOREFILE_INDEX_SIZE, STOREFILE_INDEX_SIZE_DESC),<a name="line.220"></a>
+<span class="sourceLineNo">221</span>              rsWrap.getStoreFileIndexSize())<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          .addGauge(Interns.info(STATIC_INDEX_SIZE, STATIC_INDEX_SIZE_DESC),<a name="line.222"></a>
+<span class="sourceLineNo">223</span>              rsWrap.getTotalStaticIndexSize())<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          .addGauge(Interns.info(STATIC_BLOOM_SIZE, STATIC_BLOOM_SIZE_DESC),<a name="line.224"></a>
+<span class="sourceLineNo">225</span>            rsWrap.getTotalStaticBloomSize())<a name="line.225"></a>
+<span class="sourceLineNo">226</span>          .addGauge(<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            Interns.info(NUMBER_OF_MUTATIONS_WITHOUT_WAL, NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC),<a name="line.227"></a>
+<span class="sourceLineNo">228</span>              rsWrap.getNumMutationsWithoutWAL())<a name="line.228"></a>
+<span class="sourceLineNo">229</span>          .addGauge(Interns.info(DATA_SIZE_WITHOUT_WAL, DATA_SIZE_WITHOUT_WAL_DESC),<a name="line.229"></a>
+<span class="sourceLineNo">230</span>              rsWrap.getDataInMemoryWithoutWAL())<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          .addGauge(Interns.info(PERCENT_FILES_LOCAL, PERCENT_FILES_LOCAL_DESC),<a name="line.231"></a>
+<span class="sourceLineNo">232</span>              rsWrap.getPercentFileLocal())<a name="line.232"></a>
+<span class="sourceLineNo">233</span>          .addGauge(Interns.info(PERCENT_FILES_LOCAL_SECONDARY_REGIONS,<a name="line.233"></a>
+<span class="sourceLineNo">234</span>              PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC),<a name="line.234"></a>
+<span class="sourceLineNo">235</span>              rsWrap.getPercentFileLocalSecondaryRegions())<a name="line.235"></a>
+<span class="sourceLineNo">236</span>          .addGauge(Interns.info(SPLIT_QUEUE_LENGTH, SPLIT_QUEUE_LENGTH_DESC),<a name="line.236"></a>
+<span class="sourceLineNo">237</span>              rsWrap.getSplitQueueSize())<a name="line.237"></a>
+<span class="sourceLineNo">238</span>          .addGauge(Interns.info(COMPACTION_QUEUE_LENGTH, COMPACTION_QUEUE_LENGTH_DESC),<a name="line.238"></a>
+<span class="sourceLineNo">239</span>              rsWrap.getCompactionQueueSize())<a name="line.239"></a>
+<span class="sourceLineNo">240</span>          .addGauge(Interns.info(FLUSH_QUEUE_LENGTH, FLUSH_QUEUE_LENGTH_DESC),<a name="line.240"></a>
+<span class="sourceLineNo">241</span>              rsWrap.getFlushQueueSize())<a name="line.241"></a>
+<span class="sourceLineNo">242</span>          .addGauge(Interns.info(BLOCK_CACHE_FREE_SIZE, BLOCK_CACHE_FREE_DESC),<a name="line.242"></a>
+<span class="sourceLineNo">243</span>              rsWrap.getBlockCacheFreeSize())<a name="line.243"></a>
+<span class="sourceLineNo">244</span>          .addGauge(Interns.info(BLOCK_CACHE_COUNT, BLOCK_CACHE_COUNT_DESC),<a name="line.244"></a>
+<span class="sourceLineNo">245</span>              rsWrap.getBlockCacheCount())<a name="line.245"></a>
+<span class="sourceLineNo">246</span>          .addGauge(Interns.info(BLOCK_CACHE_SIZE, BLOCK_CACHE_SIZE_DESC),<a name="line.246"></a>
+<span class="sourceLineNo">247</span>              rsWrap.getBlockCacheSize())<a name="line.247"></a>
+<span class="sourceLineNo">248</span>          .addCounter(Interns.info(BLOCK_CACHE_HIT_COUNT, BLOCK_CACHE_HIT_COUNT_DESC),<a name="line.248"></a>
+<span class="sourceLineNo">249</span>              rsWrap.getBlockCacheHitCount())<a name="line.249"></a>
+<span class="sourceLineNo">250</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_HIT_COUNT,<a name="line.250"></a>
+<span class="sourceLineNo">251</span>            BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC), rsWrap.getBlockCachePrimaryHitCount())<a name="line.251"></a>
+<span class="sourceLineNo">252</span>          .addCounter(Interns.info(BLOCK_CACHE_MISS_COUNT, BLOCK_COUNT_MISS_COUNT_DESC),<a name="line.252"></a>
+<span class="sourceLineNo">253</span>              rsWrap.getBlockCacheMissCount())<a name="line.253"></a>
+<span class="sourceLineNo">254</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_MISS_COUNT,<a name="line.254"></a>
+<span class="sourceLineNo">255</span>            BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC), rsWrap.getBlockCachePrimaryMissCount())<a name="line.255"></a>
+<span class="sourceLineNo">256</span>          .addCounter(Interns.info(BLOCK_CACHE_EVICTION_COUNT, BLOCK_CACHE_EVICTION_COUNT_DESC),<a name="line.256"></a>
+<span class="sourceLineNo">257</span>              rsWrap.getBlockCacheEvictedCount())<a name="line.257"></a>
+<span class="sourceLineNo">258</span>          .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_EVICTION_COUNT,<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC), rsWrap.getBlockCachePrimaryEvictedCount())<a name="line.259"></a>
+<span class="sourceLineNo">260</span>          .addGauge(Interns.info(BLOCK_CACHE_HIT_PERCENT, BLOCK_CACHE_HIT_PERCENT_DESC),<a name="line.260"></a>
+<span class="sourceLineNo">261</span>              rsWrap.getBlockCacheHitPercent())<a name="line.261"></a>
+<span class="sourceLineNo">262</span>          .addGauge(Interns.info(BLOCK_CACHE_EXPRESS_HIT_PERCENT,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>              BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC), rsWrap.getBlockCacheHitCachingPercent())<a name="line.263"></a>
+<span class="sourceLineNo">264</span>          .addCounter(Interns.info(BLOCK_CACHE_FAILED_INSERTION_COUNT,<a name="line.264"></a>
+<span class="sourceLineNo">265</span>              BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC),rsWrap.getBlockCacheFailedInsertions())<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          .addCounter(Interns.info(UPDATES_BLOCKED_TIME, UPDATES_BLOCKED_DESC),<a name="line.266"></a>
+<span class="sourceLineNo">267</span>              rsWrap.getUpdatesBlockedTime())<a name="line.267"></a>
+<span class="sourceLineNo">268</span>          .addCounter(Interns.info(FLUSHED_CELLS, FLUSHED_CELLS_DESC),<a name="line.268"></a>
+<span class="sourceLineNo">269</span>              rsWrap.getFlushedCellsCount())<a name="line.269"></a>
+<span class="sourceLineNo">270</span>          .addCounter(Interns.info(COMPACTED_CELLS, COMPACTED_CELLS_DESC),<a name="line.270"></a>
+<span class="sourceLineNo">271</span>              rsWrap.getCompactedCellsCount())<a name="line.271"></a>
+<span class="sourceLineNo">272</span>          .addCounter(Interns.info(MAJOR_COMPACTED_CELLS, MAJOR_COMPACTED_CELLS_DESC),<a name="line.272"></a>
+<span class="sourceLineNo">273</span>              rsWrap.getMajorCompactedCellsCount())<a name="line.273"></a>
+<span class="sourceLineNo">274</span>          .addCounter(Interns.info(FLUSHED_CELLS_SIZE, FLUSHED_CELLS_SIZE_DESC),<a name="line.274"></a>
+<span class="sourceLineNo">275</span>              rsWrap.getFlushedCellsSize())<a name="line.275"></a>
+<span class="sourceLineNo">276</span>          .addCounter(Interns.info(COMPACTED_CELLS_SIZE, COMPACTED_CELLS_SIZE_DESC),<a name="line.276"></a>
+<span class="sourceLineNo">277</span>              rsWrap.getCompactedCellsSize())<a name="line.277"></a>
+<span class="sourceLineNo">278</span>          .addCounter(Interns.info(MAJOR_COMPACTED_CELLS_SIZE, MAJOR_COMPACTED_CELLS_SIZE_DESC),<a name="line.278"></a>
+<span class="sourceLineNo">279</span>              rsWrap.getMajorCompactedCellsSize())<a name="line.279"></a>
+<span class="sourceLineNo">280</span><a name="line.280"></a>
+<span class="sourceLineNo">281</span>          .addCounter(<a name="line.281"></a>
+<span class="sourceLineNo">282</span>              Interns.info(CELLS_COUNT_COMPACTED_FROM_MOB, CELLS_COUNT_COMPACTED_FROM_MOB_DESC),<a name="line.282"></a>
+<span class="sourceLineNo">283</span>              rsWrap.getCellsCountCompactedFromMob())<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          .addCounter(Interns.info(CELLS_COUNT_COMPACTED_TO_MOB, CELLS_COUNT_COMPACTED_TO_MOB_DESC),<a name="line.284"></a>
+<span class="sourceLineNo">285</span>              rsWrap.getCellsCountCompactedToMob())<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          .addCounter(<a name="line.286"></a>
+<span class="sourceLineNo">287</span>              Interns.info(CELLS_SIZE_COMPACTED_FROM_MOB, CELLS_SIZE_COMPACTED_FROM_MOB_DESC),<a name="line.287"></a>
+<span class="sourceLineNo">288</span>              rsWrap.getCellsSizeCompactedFromMob())<a name="line.288"></a>
+<span class="sourceLineNo">289</span>          .addCounter(Interns.info(CELLS_SIZE_COMPACTED_TO_MOB, CELLS_SIZE_COMPACTED_TO_MOB_DESC),<a name="line.289"></a>
+<span class="sourceLineNo">290</span>              rsWrap.getCellsSizeCompactedToMob())<a name="line.290"></a>
+<span class="sourceLineNo">291</span>          .addCounter(Interns.info(MOB_FLUSH_COUNT, MOB_FLUSH_COUNT_DESC),<a name="line.291"></a>
+<span class="sourceLineNo">292</span>              rsWrap.getMobFlushCount())<a name="line.292"></a>
+<span class="sourceLineNo">293</span>          .addCounter(Interns.info(MOB_FLUSHED_CELLS_COUNT, MOB_FLUSHED_CELLS_COUNT_DESC),<a name="line.293"></a>
+<span class="sourceLineNo">294</span>              rsWrap.getMobFlushedCellsCount())<a name="line.294"></a>
+<span class="sourceLineNo">295</span>          .addCounter(Interns.info(MOB_FLUSHED_CELLS_SIZE, MOB_FLUSHED_CELLS_SIZE_DESC),<a name="line.295"></a>
+<span class="sourceLineNo">296</span>              rsWrap.getMobFlushedCellsSize())<a name="line.296"></a>
+<span class="sourceLineNo">297</span>          .addCounter(Interns.info(MOB_SCAN_CELLS_COUNT, MOB_SCAN_CELLS_COUNT_DESC),<a name="line.297"></a>
+<span class="sourceLineNo">298</span>              rsWrap.getMobScanCellsCount())<a name="line.298"></a>
+<span class="sourceLineNo">299</span>          .addCounter(Interns.info(MOB_SCAN_CELLS_SIZE, MOB_SCAN_CELLS_SIZE_DESC),<a name="line.299"></a>
+<span class="sourceLineNo">300</span>              rsWrap.getMobScanCellsSize())<a name="line.300"></a>
+<span class="sourceLineNo">301</span>          .addGauge(Interns.info(MOB_FILE_CACHE_COUNT, MOB_FILE_CACHE_COUNT_DESC),<a name="line.301"></a>
+<span class="sourceLineNo">302</span>              rsWrap.getMobFileCacheCount())<a name="line.302"></a>
+<span class="sourceLineNo">303</span>          .addCounter(Interns.info(MOB_FILE_CACHE_ACCESS_COUNT, MOB_FILE_CACHE_ACCESS_COUNT_DESC),<a name="line.303"></a>
+<span class="sourceLineNo">304</span>              rsWrap.getMobFileCacheAccessCount())<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          .addCounter(Interns.info(MOB_FILE_CACHE_MISS_COUNT, MOB_FILE_CACHE_MISS_COUNT_DESC),<a name="line.305"></a>
+<span class="sourceLineNo">306</span>              rsWrap.getMobFileCacheMissCount())<a name="line.306"></a>
+<span class="sourceLineNo">307</span>          .addCounter(<a name="line.307"></a>
+<span class="sourceLineNo">308</span>              Interns.info(MOB_FILE_CACHE_EVICTED_COUNT, MOB_FILE_CACHE_EVICTED_COUNT_DESC),<a name="line.308"></a>
+<span class="sourceLineNo">309</span>              rsWrap.getMobFileCacheEvictedCount())<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          .addGauge(Interns.info(MOB_FILE_CACHE_HIT_PERCENT, MOB_FILE_CACHE_HIT_PERCENT_DESC),<a name="line.310"></a>
+<span class="sourceLineNo">311</span>              rsWrap.getMobFileCacheHitPercent())<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>          .addCounter(Interns.info(HEDGED_READS, HEDGED_READS_DESC), rsWrap.getHedgedReadOps())<a name="line.313"></a>
+<span class="sourceLineNo">314</span>          .addCounter(Interns.info(HEDGED_READ_WINS, HEDGED_READ_WINS_DESC),<a name="line.314"></a>
+<span class="sourceLineNo">315</span>              rsWrap.getHedgedReadWins())<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>          .addCounter(Interns.info(BLOCKED_REQUESTS_COUNT, BLOCKED_REQUESTS_COUNT_DESC),<a name="line.317"></a>
+<span class="sourceLineNo">318</span>            rsWrap.getBlockedRequestsCount())<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>          .tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),<a name="line.320"></a>
+<span class="sourceLineNo">321</span>              rsWrap.getZookeeperQuorum())<a name="line.321"></a>
+<span class="sourceLineNo">322</span>          .tag(Interns.info(SERVER_NAME_NAME, SERVER_NAME_DESC), rsWrap.getServerName())<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          .tag(Interns.info(CLUSTER_ID_NAME, CLUSTER_ID_DESC), rsWrap.getClusterId());<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>    metricsRegistry.snapshot(mrb, all);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>}<a name="line.328"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
index e25b9c2..ad4d8f2 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html
@@ -380,7 +380,27 @@
 <span class="sourceLineNo">372</span>   * @return Count of requests blocked because the memstore size is larger than blockingMemStoreSize<a name="line.372"></a>
 <span class="sourceLineNo">373</span>   */<a name="line.373"></a>
 <span class="sourceLineNo">374</span>  long getBlockedRequestsCount();<a name="line.374"></a>
-<span class="sourceLineNo">375</span>}<a name="line.375"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * Get the number of rpc get requests to this region server.<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   */<a name="line.378"></a>
+<span class="sourceLineNo">379</span>  long getRpcGetRequestsCount();<a name="line.379"></a>
+<span class="sourceLineNo">380</span><a name="line.380"></a>
+<span class="sourceLineNo">381</span>  /**<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * Get the number of rpc scan requests to this region server.<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   */<a name="line.383"></a>
+<span class="sourceLineNo">384</span>  long getRpcScanRequestsCount();<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>   * Get the number of rpc multi requests to this region server.<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   */<a name="line.388"></a>
+<span class="sourceLineNo">389</span>  long getRpcMultiRequestsCount();<a name="line.389"></a>
+<span class="sourceLineNo">390</span><a name="line.390"></a>
+<span class="sourceLineNo">391</span>  /**<a name="line.391"></a>
+<span class="sourceLineNo">392</span>   * Get the number of rpc mutate requests to this region server.<a name="line.392"></a>
+<span class="sourceLineNo">393</span>   */<a name="line.393"></a>
+<span class="sourceLineNo">394</span>  long getRpcMutateRequestsCount();<a name="line.394"></a>
+<span class="sourceLineNo">395</span>}<a name="line.395"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        region.getCoprocessorHost().postAppend(append, r);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      }<a name="line.593"></

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 da81736..f1ce24d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></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">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>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
+<span class="sourceLineNo">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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_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">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></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">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></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">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></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">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcn__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>
-<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 22, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_format = format;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_format__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFormat()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_format;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFormat__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_format__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_format__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
+<span class="sourceLineNo">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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></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">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String format;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFormat(p_format);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 88f163f..99958c6 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -34,27 +34,27 @@
 <span class="sourceLineNo">026</span><a name="line.26"></a>
 <span class="sourceLineNo">027</span>{<a name="line.27"></a>
 <span class="sourceLineNo">028</span>  private final HRegionServer regionServer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String bcn;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private final String format;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final String bcv;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private final String filter;<a name="line.32"></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">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.getBcn__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      p_implData.setBcn("");<a name="line.37"></a>
+<span class="sourceLineNo">037</span>      p_implData.setFilter("general");<a name="line.37"></a>
 <span class="sourceLineNo">038</span>    }<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.39"></a>
+<span class="sourceLineNo">039</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.39"></a>
 <span class="sourceLineNo">040</span>    {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      p_implData.setFormat("html");<a name="line.41"></a>
+<span class="sourceLineNo">041</span>      p_implData.setBcv("");<a name="line.41"></a>
 <span class="sourceLineNo">042</span>    }<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.43"></a>
+<span class="sourceLineNo">043</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.43"></a>
 <span class="sourceLineNo">044</span>    {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      p_implData.setBcv("");<a name="line.45"></a>
+<span class="sourceLineNo">045</span>      p_implData.setBcn("");<a name="line.45"></a>
 <span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.47"></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>
-<span class="sourceLineNo">049</span>      p_implData.setFilter("general");<a name="line.49"></a>
+<span class="sourceLineNo">049</span>      p_implData.setFormat("html");<a name="line.49"></a>
 <span class="sourceLineNo">050</span>    }<a name="line.50"></a>
 <span class="sourceLineNo">051</span>    return p_implData;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  }<a name="line.52"></a>
@@ -62,10 +62,10 @@
 <span class="sourceLineNo">054</span>  {<a name="line.54"></a>
 <span class="sourceLineNo">055</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.55"></a>
 <span class="sourceLineNo">056</span>    regionServer = p_implData.getRegionServer();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    bcn = p_implData.getBcn();<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    format = p_implData.getFormat();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    bcv = p_implData.getBcv();<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    filter = p_implData.getFilter();<a name="line.60"></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">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>
 <span class="sourceLineNo">063</span>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.63"></a>
@@ -94,8 +94,8 @@
 <span class="sourceLineNo">086</span>      // 41, 3<a name="line.86"></a>
 <span class="sourceLineNo">087</span>      {<a name="line.87"></a>
 <span class="sourceLineNo">088</span>        org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_1 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        __jamon__var_1.setFilter(filter);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        __jamon__var_1.setFormat("json" );<a name="line.90"></a>
+<span class="sourceLineNo">089</span>        __jamon__var_1.setFormat("json" );<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        __jamon__var_1.setFilter(filter);<a name="line.90"></a>
 <span class="sourceLineNo">091</span>        __jamon__var_1.renderNoFlush(jamonWriter);<a name="line.91"></a>
 <span class="sourceLineNo">092</span>      }<a name="line.92"></a>
 <span class="sourceLineNo">093</span>      // 41, 68<a name="line.93"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/distribution-management.html
----------------------------------------------------------------------
diff --git a/distribution-management.html b/distribution-management.html
index 31f89aa..6c9e197 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 825577c..466c7ca 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index f43e9b5..42d76ff 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index dca7527..fb73885 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 6ab2ecc..e4e8a16 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 0ad5d4d..5eaefad 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 7a94572..46b95e9 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/distribution-management.html b/hbase-annotations/distribution-management.html
index a50db27..576b1cd 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index a1ac42c..bebbf30 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 57ad9bd..4d2eb1e 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 86911f3..cf8538b 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 438f981..ff8c210 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index ece46ce..26f5ed1 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index d63589d..7701482 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index 9908e9d..29390b2 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index cf70e3b..4f21cf9 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 53d2a81..20112fc 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 4abf2be..7415d6b 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 8a78dec..cd9b0e2 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index f829219..f146d41 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 6f09974..4c54b92 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index 657ab62..0cbe182 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index dda7845..7675d32 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 2287cf8..93f8eab 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index 23cfc88..d4ea65f 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/distribution-management.html b/hbase-spark/distribution-management.html
index 7df6514..4ffb3e7 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index f9b0c42..ff07382 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 1ec476f..c0c9bec 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index a5ac1f5..27edb23 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index de5d446..dc98f73 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index 53fbc94..203bcf9 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index bd3328a..389bcd8 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 099c8c0..6651cdc 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index df1011a..b94f2fd 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index 5021fdb..fa11dd4 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 39c4ac5..6fd8d5f 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index d3f99c9..c9b6491 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 498711b..70f685d 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-05 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-02-07 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-02-05</span>
+        <span id="publishDate">Last Published: 2016-02-07</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/670bf1f0/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 454189c..4adacdb 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 1c5bb79..c41369a 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index ac0d683..d998a77 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 87641f0..5ede793 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index 836b324..c0f4e7a 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index b9f3a92..412b52a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -2339,1090 +2339,1094 @@
 <span class="sourceLineNo">2331</span>    RegionServerStartupResponse result = null;<a name="line.2331"></a>
 <span class="sourceLineNo">2332</span>    try {<a name="line.2332"></a>
 <span class="sourceLineNo">2333</span>      rpcServices.requestCount.set(0);<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      int port = rpcServices.isa.getPort();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setPort(port);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerStartCode(this.startcode);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      request.setServerCurrentTime(now);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>    } catch (ServiceException se) {<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // Re-throw IOE will cause RS to abort<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        throw ioe;<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>        LOG.debug("Master is not running yet");<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        LOG.warn("error telling master we are up", se);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>      rssStub = null;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    }<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    return result;<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  @Override<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    try {<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      if (rss == null) { // Try to connect one more time<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        createRegionServerStatusStub();<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        rss = rssStub;<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>        if (rss == null) {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          // Still no luck, we tried<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>              .build();<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      }<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    } catch (ServiceException e) {<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>          .build();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>  }<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span><a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  /**<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Closes all regions.  Called on our way out.<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * while this method runs.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   */<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>    closeUserRegions(abort);<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>    closeMetaTableRegions(abort);<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  }<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span><a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  /**<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>   * Close meta region if we carry it<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>   * @param abort Whether we're running an abort.<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   */<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    Region meta = null;<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>    this.lock.writeLock().lock();<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    try {<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        if (hri.isMetaRegion()) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          meta = e.getValue();<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>        }<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        if (meta != null) break;<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      }<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>    } finally {<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      this.lock.writeLock().unlock();<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    }<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>  }<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span><a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>  /**<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>   * Schedule closes on all user regions.<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * that are already closed or that are closing.<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param abort Whether we're running an abort.<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   */<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  void closeUserRegions(final boolean abort) {<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>    this.lock.writeLock().lock();<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>    try {<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        Region r = e.getValue();<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>          // Don't update zk with this close transition; pass false.<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>        }<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>      }<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    } finally {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      this.lock.writeLock().unlock();<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  /** @return the info server */<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>  public InfoServer getInfoServer() {<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return infoServer;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>  }<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span><a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>  /**<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @return true if a stop has been requested.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>  @Override<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>  public boolean isStopped() {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>    return this.stopped;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>  }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>  @Override<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>  public boolean isStopping() {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>    return this.stopping;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>  }<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span><a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  @Override<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>    return this.recoveringRegions;<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>  }<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span><a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>  /**<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>   *<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>   * @return the configuration<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>   */<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>  @Override<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>  public Configuration getConfiguration() {<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>    return conf;<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>  }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>  /** @return the write lock for the server */<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>    return lock.writeLock();<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>  }<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span><a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>  public int getNumberOfOnlineRegions() {<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>    return this.onlineRegions.size();<a name="line.2479"></a>
+<span class="sourceLineNo">2334</span>      rpcServices.rpcGetRequestCount.set(0);<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>      rpcServices.rpcScanRequestCount.set(0);<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>      rpcServices.rpcMultiRequestCount.set(0);<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>      rpcServices.rpcMutateRequestCount.set(0);<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>      int port = rpcServices.isa.getPort();<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span>      }<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>      request.setPort(port);<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>      request.setServerStartCode(this.startcode);<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>      request.setServerCurrentTime(now);<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>    } catch (ServiceException se) {<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>        // Re-throw IOE will cause RS to abort<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>        throw ioe;<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span>        LOG.debug("Master is not running yet");<a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>      } else {<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>        LOG.warn("error telling master we are up", se);<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>      }<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>      rssStub = null;<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>    }<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>    return result;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span>  }<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span><a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>  @Override<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>    try {<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span>      if (rss == null) { // Try to connect one more time<a name="line.2372"></a>
+<span class="sourceLineNo">2373</span>        createRegionServerStatusStub();<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span>        rss = rssStub;<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        if (rss == null) {<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          // Still no luck, we tried<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span>              .build();<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        }<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>      }<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>    } catch (ServiceException e) {<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>          .build();<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>    }<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Closes all regions.  Called on our way out.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * while this method runs.<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   */<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>    closeUserRegions(abort);<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>    closeMetaTableRegions(abort);<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  }<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span><a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * Close meta region if we carry it<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * @param abort Whether we're running an abort.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   */<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>    Region meta = null;<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    this.lock.writeLock().lock();<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>    try {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>        if (hri.isMetaRegion()) {<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>          meta = e.getValue();<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>        }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span>        if (meta != null) break;<a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>    } finally {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>      this.lock.writeLock().unlock();<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>    }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Schedule closes on all user regions.<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   * that are already closed or that are closing.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   * @param abort Whether we're running an abort.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   */<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>  void closeUserRegions(final boolean abort) {<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>    this.lock.writeLock().lock();<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>    try {<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>        Region r = e.getValue();<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>          // Don't update zk with this close transition; pass false.<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>        }<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>      }<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>    } finally {<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>      this.lock.writeLock().unlock();<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>    }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span><a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>  /** @return the info server */<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  public InfoServer getInfoServer() {<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>    return infoServer;<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  }<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span><a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>  /**<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>   * @return true if a stop has been requested.<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   */<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>  @Override<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>  public boolean isStopped() {<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    return this.stopped;<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>  }<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span><a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>  @Override<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  public boolean isStopping() {<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>    return this.stopping;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>  }<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span><a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>  @Override<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>    return this.recoveringRegions;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>  }<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>  /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   *<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @return the configuration<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   */<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>  @Override<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  public Configuration getConfiguration() {<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>    return conf;<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>  }<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span><a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>  /** @return the write lock for the server */<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>    return lock.writeLock();<a name="line.2479"></a>
 <span class="sourceLineNo">2480</span>  }<a name="line.2480"></a>
 <span class="sourceLineNo">2481</span><a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>  boolean isOnlineRegionsEmpty() {<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    return this.onlineRegions.isEmpty();<a name="line.2483"></a>
+<span class="sourceLineNo">2482</span>  public int getNumberOfOnlineRegions() {<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>    return this.onlineRegions.size();<a name="line.2483"></a>
 <span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
 <span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * For tests, web ui and metrics.<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>   */<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>    return Collections.unmodifiableCollection(regions);<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  }<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span><a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>  @Override<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>  public void addToOnlineRegions(Region region) {<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>    configurationManager.registerObserver(region);<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>  }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span><a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  /**<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * may NOT return all regions.<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    // we'll sort the regions in reverse<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>        new Comparator&lt;Long&gt;() {<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>          @Override<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>          public int compare(Long a, Long b) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>            return -1 * a.compareTo(b);<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>          }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>        });<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    }<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>    return sortedRegions;<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>  }<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span><a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>  /**<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>   * @return time stamp in millis of when this region server was started<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>   */<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>  public long getStartcode() {<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>    return this.startcode;<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>  }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span><a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>  /** @return reference to FlushRequester */<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>  @Override<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>  public FlushRequester getFlushRequester() {<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    return this.cacheFlusher;<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>  }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span><a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  /**<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>   * the first N regions being served regardless of load.)<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>   */<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>    for (Region r : onlineRegions.values()) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      if (!r.isAvailable()) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>        continue;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>      }<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        regions.add(r.getRegionInfo());<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>      } else {<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        break;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>      }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>    }<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>  }<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span><a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>  @Override<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>  public Leases getLeases() {<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>    return leases;<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>  }<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span><a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>  /**<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>   * @return Return the rootDir.<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>   */<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>  protected Path getRootDir() {<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return rootDir;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * @return Return the fs.<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   */<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>  @Override<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>  public FileSystem getFileSystem() {<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>    return fs;<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  }<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span><a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  @Override<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>  public String toString() {<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>    return getServerName().toString();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span><a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>   * Interval at which threads should run<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>   *<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>   * @return the interval<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>   */<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>  public int getThreadWakeFrequency() {<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    return threadWakeFrequency;<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>    return zooKeeper;<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  @Override<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>    return csm;<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  }<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span><a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>  @Override<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  public ServerName getServerName() {<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span>    return serverName;<a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span><a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>    return this.compactSplitThread;<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span><a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>    return this.rsHost;<a name="line.2612"></a>
+<span class="sourceLineNo">2486</span>  boolean isOnlineRegionsEmpty() {<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>    return this.onlineRegions.isEmpty();<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>  }<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span><a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>  /**<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>   * For tests, web ui and metrics.<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>   */<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>    return Collections.unmodifiableCollection(regions);<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>  }<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span><a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>  @Override<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>  public void addToOnlineRegions(Region region) {<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    configurationManager.registerObserver(region);<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>  }<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span><a name="line.2505"></a>
+<span class="sourceLineNo">2506</span>  /**<a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   * may NOT return all regions.<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>   */<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>    // we'll sort the regions in reverse<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>        new Comparator&lt;Long&gt;() {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>          @Override<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>          public int compare(Long a, Long b) {<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>            return -1 * a.compareTo(b);<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>          }<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>        });<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>    }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span>    return sortedRegions;<a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  }<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span><a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>  /**<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>   * @return time stamp in millis of when this region server was started<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>   */<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>  public long getStartcode() {<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    return this.startcode;<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>  }<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span><a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>  /** @return reference to FlushRequester */<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span>  @Override<a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>  public FlushRequester getFlushRequester() {<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    return this.cacheFlusher;<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>  }<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span><a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>  /**<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>   * the first N regions being served regardless of load.)<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>   */<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>    for (Region r : onlineRegions.values()) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>      if (!r.isAvailable()) {<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>        continue;<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>      }<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>        regions.add(r.getRegionInfo());<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>      } else {<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>        break;<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>      }<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>    }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>  }<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span><a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>  @Override<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>  public Leases getLeases() {<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>    return leases;<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>  }<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span><a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>  /**<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>   * @return Return the rootDir.<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>   */<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>  protected Path getRootDir() {<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>    return rootDir;<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span>  }<a name="line.2571"></a>
+<span class="sourceLineNo">2572</span><a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>  /**<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * @return Return the fs.<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   */<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>  @Override<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>  public FileSystem getFileSystem() {<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>    return fs;<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>  }<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span><a name="line.2580"></a>
+<span class="sourceLineNo">2581</span>  @Override<a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  public String toString() {<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>    return getServerName().toString();<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span><a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>   * Interval at which threads should run<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span>   *<a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>   * @return the interval<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   */<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>  public int getThreadWakeFrequency() {<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>    return threadWakeFrequency;<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>  }<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span><a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>  @Override<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>    return zooKeeper;<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span><a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  @Override<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>    return csm;<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  }<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span><a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  @Override<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  public ServerName getServerName() {<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>    return serverName;<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span><a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    return this.compactSplitThread;<a name="line.2612"></a>
 <span class="sourceLineNo">2613</span>  }<a name="line.2613"></a>
 <span class="sourceLineNo">2614</span><a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  @Override<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>    return this.regionsInTransitionInRS;<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>  public ExecutorService getExecutorService() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    return service;<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span><a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  @Override<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  public ChoreService getChoreService() {<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>    return choreService;<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span><a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>    return rsQuotaManager;<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span><a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>  //<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>  // Main program and support routines<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  //<a name="line.2637"></a>
+<span class="sourceLineNo">2615</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    return this.rsHost;<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>  }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span><a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  @Override<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return this.regionsInTransitionInRS;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public ExecutorService getExecutorService() {<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return service;<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public ChoreService getChoreService() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    return choreService;<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  @Override<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>    return rsQuotaManager;<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
 <span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  /**<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>   * Load the replication service objects, if any<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>   */<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    // If replication is not enabled, then return immediately.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      return;<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>    // read in the name of the source replication class from the config file.<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2653"></a>
+<span class="sourceLineNo">2639</span>  //<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  // Main program and support routines<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  //<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span><a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  /**<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>   * Load the replication service objects, if any<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>   */<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span><a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    // If replication is not enabled, then return immediately.<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      return;<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    }<a name="line.2653"></a>
 <span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>    // read in the name of the sink replication class from the config file.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
+<span class="sourceLineNo">2655</span>    // read in the name of the source replication class from the config file.<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
 <span class="sourceLineNo">2658</span><a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    // only one object.<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>                                         newReplicationInstance(sourceClassname,<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>                                         server.replicationSourceHandler;<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } else {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>                                         newReplicationInstance(sourceClassname,<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>                                         newReplicationInstance(sinkClassname,<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span><a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    Path oldLogDir) throws IOException{<a name="line.2679"></a>
+<span class="sourceLineNo">2659</span>    // read in the name of the sink replication class from the config file.<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span><a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>    // only one object.<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                                         newReplicationInstance(sourceClassname,<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>                                         server.replicationSourceHandler;<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>    } else {<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                         newReplicationInstance(sourceClassname,<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>                                         newReplicationInstance(sinkClassname,<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
 <span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    Class&lt;?&gt; clazz = null;<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    try {<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>      throw new IOException("Could not find class for " + classname);<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>    }<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span><a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    // create an instance of the replication object.<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    ReplicationService service = (ReplicationService)<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>    return service;<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span><a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  /**<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>   *<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>   * @param regionServerClass<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>   * @param conf2<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>   * @return HRegionServer instance.<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>   */<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  public static HRegionServer constructRegionServer(<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    try {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      return c.newInstance(conf2, cp);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    } catch (Exception e) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>          + regionServerClass.toString(), e);<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>  }<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span><a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  /**<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>   */<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public static void main(String[] args) throws Exception {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>    VersionInfo.logVersion();<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    @SuppressWarnings("unchecked")<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span><a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span><a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  /**<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>   * Gets the online regions of the specified table.<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>   * all the ONLINE regions in the table.<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>   * @param tableName<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>   */<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>  @Override<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>     synchronized (this.onlineRegions) {<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>           tableRegions.add(region);<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>         }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>       }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>     }<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>     return tableRegions;<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>   }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span><a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  @Override<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    synchronized (this.onlineRegions) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      // Return a clone copy of the onlineRegions<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>      allRegions.addAll(onlineRegions.values());<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>    }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>    return allRegions;<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  }<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>  /**<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>   * Gets the online tables in this RS.<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>   * This method looks at the in-memory onlineRegions.<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>   * @return all the online tables in this RS<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>   */<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  @Override<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>  public Set&lt;TableName&gt; getOnlineTables() {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    Set&lt;TableName&gt; tables = new HashSet&lt;TableName&gt;();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    synchronized (this.onlineRegions) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      for (Region region: this.onlineRegions.values()) {<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        tables.add(region.getTableDesc().getTableName());<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>      }<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>    }<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>    return tables;<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  // used by org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (HBASE-4070).<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>  public String[] getRegionServerCoprocessors() {<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    TreeSet&lt;String&gt; coprocessors = new TreeSet&lt;String&gt;();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>    try {<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>      coprocessors.addAll(getWAL(null).getCoprocessorHost().getCoprocessors());<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>    } catch (IOException exception) {<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>      LOG.warn("Exception attempting to fetch wal coprocessor information for the common wal; " +<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>          "skipping.");<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>      LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    }<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    Collection&lt;Region&gt; regions = getOnlineRegionsLocalContext();<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>    for (Region region: regions) {<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>      coprocessors.addAll(region.getCoprocessorHost().getCoprocessors());<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>      try {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>        coprocessors.addAll(getWAL(region.getRegionInfo()).getCoprocessorHost().getCoprocessors());<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>      } catch (IOException exception) {<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>        LOG.warn("Exception attempting to fetch wal coprocessor information for region " + region +<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>            "; skipping.");<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>        LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>      }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    }<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>    return coprocessors.toArray(new String[coprocessors.size()]);<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  }<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span><a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>  /**<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>   * Try to close the region, logs a warning on failure but continues.<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>   * @param region Region to close<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>   */<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>  private void closeRegionIgnoreErrors(HRegionInfo region, final boolean abort) {<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    try {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      if (!closeRegion(region.getEncodedName(), abort, null)) {<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>        LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>            " - ignoring and continuing");<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>      }<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    } catch (IOException e) {<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>      LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>          " - ignoring and continuing", e);<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>    }<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  }<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span><a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  /**<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>   * Close asynchronously a region, can be called from the master or internally by the regionserver<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>   * when stopping. If called from the master, the region will update the znode status.<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>   *<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>   * &lt;p&gt;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>   * If an opening was in progress, this method will cancel it, but will not start a new close. The<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>   * coprocessors are not called in this case. A NotServingRegionException exception is thrown.<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>   * &lt;/p&gt;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span><a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * &lt;p&gt;<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   *   If a close was in progress, this new request will be ignored, and an exception thrown.<a name="line.2828"></a>
+<span class="sourceLineNo">2681</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    Path oldLogDir) throws IOException{<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span><a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>    Class&lt;?&gt; clazz = null;<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    try {<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>      throw new IOException("Could not find class for " + classname);<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>    }<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span><a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    // create an instance of the replication object.<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    ReplicationService service = (ReplicationService)<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    return service;<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span><a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  /**<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>   *<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>   * @param regionServerClass<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>   * @param conf2<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>   * @return HRegionServer instance.<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   */<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  public static HRegionServer constructRegionServer(<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    try {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>      return c.newInstance(conf2, cp);<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    } catch (Exception e) {<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>          + regionServerClass.toString(), e);<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  /**<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>   */<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  public static void main(String[] args) throws Exception {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    VersionInfo.logVersion();<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    @SuppressWarnings("unchecked")<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>  /**<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>   * Gets the online regions of the specified table.<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>   * all the ONLINE regions in the table.<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>   * @param tableName<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>   */<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>  @Override<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>     synchronized (this.onlineRegions) {<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>           tableRegions.add(region);<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>         }<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>       }<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>     }<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>     return tableRegions;<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>   }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span><a name="line.2756"></a>
+<span class="sourceLineNo">2757</span>  @Override<a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>    synchronized (this.onlineRegions) {<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>      // Return a clone copy of the onlineRegions<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>      allRegions.addAll(onlineRegions.values());<a name="line.2762"></a>
+<span class="sourceLineN

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 19ef617..a73d0a7 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -120,8 +120,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">StateMachineProcedure.Flow</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">RootProcedureState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="strong">StateMachineProcedure.Flow</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 d720f4c..1f26c76 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -172,11 +172,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">QuotaScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottleType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 5d5a72d..9b49397 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.5539">HRegion.RegionScannerImpl</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5532">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.5541">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.5534">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.5544">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.5537">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.5548">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.5541">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.5549">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5542">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.5551">isScan</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5544">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.5552">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5545">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.5553">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.5546">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.5554">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.5547">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.5555">copyCellsFromSharedMem</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5548">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.5557">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5550">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.5558">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5551">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.5559">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.5552">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.5560">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.5553">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.5571">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.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,
                          <a href="http://docs.oracle.com/javase/7/docs/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.5563">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.5556">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.5567">setCopyCellsFromSharedMem</a>(boolean&nbsp;copyCells)</pre>
+<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>
 </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.5635">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.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,
                     <a href="http://docs.oracle.com/javase/7/docs/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.5645">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5638">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.5650">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5643">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.5655">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5648">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.5664">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5657">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.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.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)
              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.5678">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.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,
            <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.5695">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.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)
                 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.5701">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.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,
               <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.5756">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.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,
                              <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.5780">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.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,
                      <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.5825">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.5818">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.5833">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5826">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.5837">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.5830">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.5841">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.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,
                    <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.6040">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.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>
 </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.6048">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.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>
 </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.6059">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.6052">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.6086">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6079">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.6093">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.6086">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.6097">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.6090">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.6112">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.6105">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.6118">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6111">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.6132">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.6125">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.6137">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6130">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.6158">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.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)
                                 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.6173">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.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)
                         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.6181">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6174">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.6191">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6184">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/670bf1f0/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 2e17737..cf52e7b 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.5271">HRegion.RowLockContext</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5264">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.5272">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.5265">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.5273">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.5266">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.5274">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.5267">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.5275">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.5268">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.5276">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.5269">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.5278">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.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>
 </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.5282">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.5275">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.5286">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.5279">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.5291">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.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>
 </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.5302">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.5295">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.5316">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.5309">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/670bf1f0/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 e65c24d..56a447f 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.5328">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5321">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.5329">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.5322">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.5330">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.5323">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.5332">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.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,
                    <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.5337">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.5330">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.5342">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.5335">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.5347">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.5340">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.5353">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.5346">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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 268dd28..ca1ca2c 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 6b753ce..4ac87b4 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1593,7 +1593,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index b1f9145..8c2a87d 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -14673,6 +14673,62 @@
 <td class="colLast"><code>"replay"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_GET_REQUEST_COUNT">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT">RPC_GET_REQUEST_COUNT</a></code></td>
+<td class="colLast"><code>"rpcGetRequestCount"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_GET_REQUEST_COUNT_DESC">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT_DESC">RPC_GET_REQUEST_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Number of rpc get requests this region server has answered."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MULTI_REQUEST_COUNT">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT">RPC_MULTI_REQUEST_COUNT</a></code></td>
+<td class="colLast"><code>"rpcMultiRequestCount"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MULTI_REQUEST_COUNT_DESC">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT_DESC">RPC_MULTI_REQUEST_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Number of rpc multi requests this region server has answered."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MUTATE_REQUEST_COUNT">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT">RPC_MUTATE_REQUEST_COUNT</a></code></td>
+<td class="colLast"><code>"rpcMutateRequestCount"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_MUTATE_REQUEST_COUNT_DESC">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT_DESC">RPC_MUTATE_REQUEST_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Number of rpc mutation requests this region server has answered."</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_SCAN_REQUEST_COUNT">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT">RPC_SCAN_REQUEST_COUNT</a></code></td>
+<td class="colLast"><code>"rpcScanRequestCount"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RPC_SCAN_REQUEST_COUNT_DESC">
+<!--   -->
+</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/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT_DESC">RPC_SCAN_REQUEST_COUNT_DESC</a></code></td>
+<td class="colLast"><code>"Number of rpc scan requests this region server has answered."</code></td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.RS_START_TIME_DESC">
 <!--   -->
 </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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index dba358f..d0fc6af 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -19217,7 +19217,7 @@
 </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,%20int)">doMiniBatchMutation(HRegion.BatchOperationInProgress&lt;?&gt;, 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>
+<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/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>
@@ -35006,6 +35006,24 @@
 <dd>
 <div class="block">For tests only.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcGetRequestsCount()">getRpcGetRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
+<dd>
+<div class="block">Get the number of rpc get requests to this region server.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcGetRequestsCount()">getRpcGetRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
+<dd>
+<div class="block">Get the number of rpc multi requests to this region server.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
+<dd>
+<div class="block">Get the number of rpc mutate requests to this region server.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html#getRPCPacketLength()">getRPCPacketLength()</a></span> - Method in interface org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#getRPCPacketLength()">getRPCPacketLength()</a></span> - Method in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
@@ -35026,6 +35044,12 @@
 <dd>
 <div class="block">Package exposed.</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcScanRequestsCount()">getRpcScanRequestsCount()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></dt>
+<dd>
+<div class="block">Get the number of rpc scan requests to this region server.</div>
+</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcScanRequestsCount()">getRpcScanRequestsCount()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapperImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRpcServer()">getRpcServer()</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/RegionServerServices.html#getRpcServer()">getRpcServer()</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></dt>
@@ -73012,10 +73036,26 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HConstants.html#RPC_CURRENT_VERSION">RPC_CURRENT_VERSION</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT">RPC_GET_REQUEST_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_GET_REQUEST_COUNT_DESC">RPC_GET_REQUEST_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/HConstants.html#RPC_HEADER">RPC_HEADER</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>
 <div class="block">The first four bytes of Hadoop RPC connections</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT">RPC_MULTI_REQUEST_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MULTI_REQUEST_COUNT_DESC">RPC_MULTI_REQUEST_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT">RPC_MUTATE_REQUEST_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_MUTATE_REQUEST_COUNT_DESC">RPC_MUTATE_REQUEST_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT">RPC_SCAN_REQUEST_COUNT</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#RPC_SCAN_REQUEST_COUNT_DESC">RPC_SCAN_REQUEST_COUNT_DESC</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallback</span></a> - Interface in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
 <dd>
 <div class="block">Denotes a callback action that has to be executed at the end of an Rpc Call.</div>
@@ -73143,8 +73183,14 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.html#rpcFactory">rpcFactory</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">RegionCoprocessorRpcChannel</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcGetRequestCount">rpcGetRequestCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MetricsConnection.html#rpcHistograms">rpcHistograms</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MetricsConnection.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMultiRequestCount">rpcMultiRequestCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMutateRequestCount">rpcMutateRequestCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.html#rpComparator">rpComparator</a></span> - Variable in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">SimpleLoadBalancer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html#rpcQueueTime">rpcQueueTime</a></span> - Variable in class org.apache.hadoop.hbase.monitoring.<a href="./org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.html" title="class in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandlerImpl</a></dt>
@@ -73194,6 +73240,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/procedure/Subprocedure.html#rpcs">rpcs</a></span> - Variable in class org.apache.hadoop.hbase.procedure.<a href="./org/apache/hadoop/hbase/procedure/Subprocedure.html" title="class in org.apache.hadoop.hbase.procedure">Subprocedure</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcScanRequestCount">rpcScanRequestCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">RpcScheduler</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
 <dd>
 <div class="block">An interface for RPC request scheduling algorithm.</div>
@@ -80125,6 +80173,10 @@ service.</div>
 <dd>
 <div class="block">Should skip bad lines</div>
 </dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#skipCellsForMutation(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutation(ClientProtos.Action, CellScanner)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html#skipCellsForMutations(java.util.List,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutations(List&lt;ClientProtos.Action&gt;, CellScanner)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html#skipChecks">skipChecks</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/HBaseFsck.HbckInfo.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck.HbckInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.html#skipControl(long,%20long)">skipControl(long, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.throttle.<a href="./org/apache/hadoop/hbase/regionserver/throttle/PressureAwareCompactionThroughputController.html" title="class in org.apache.hadoop.hbase.regionserver.throttle">PressureAwareCompactionThroughputController</a></dt>
@@ -92199,8 +92251,6 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(boolean)">WALEdit(boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html#WALEdit(int)">WALEdit(int)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</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>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html#walEditsFromCoprocessors">walEditsFromCoprocessors</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html b/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
index 936ad9b..e3c67b3 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/CellScanner.html
@@ -746,6 +746,16 @@
 <div class="block">Carry on the list of log entries down to the sink</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#skipCellsForMutation(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutation</a></strong>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&nbsp;action,
+                                        <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="strong">RSRpcServices.</span><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#skipCellsForMutations(java.util.List,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutations</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.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
+                                          <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 a574887..d037e1d 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/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/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.<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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html
index 6847d6f..dce46bb 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html
@@ -103,10 +103,6 @@
 <dd><a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a></dd>
 </dl>
 <dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvDecoder</a></dd>
-</dl>
-<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec</a></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html
index 275995e..cf14fd2 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html
@@ -103,10 +103,6 @@
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/Codec.Encoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Encoder</a>, <a href="../../../../../org/apache/hadoop/hbase/io/CellOutputStream.html" title="interface in org.apache.hadoop.hbase.io">CellOutputStream</a></dd>
 </dl>
 <dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvEncoder</a></dd>
-</dl>
-<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec</a></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html
index 255737f..b060550 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html
@@ -103,6 +103,10 @@
 <dd><a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/codec/Codec.Decoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Decoder</a></dd>
 </dl>
 <dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvDecoder</a></dd>
+</dl>
+<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags</a></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html
index 2c6d7c1..74db1ad 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html
@@ -103,6 +103,10 @@
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/Codec.Encoder.html" title="interface in org.apache.hadoop.hbase.codec">Codec.Encoder</a>, <a href="../../../../../org/apache/hadoop/hbase/io/CellOutputStream.html" title="interface in org.apache.hadoop.hbase.io">CellOutputStream</a></dd>
 </dl>
 <dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvEncoder</a></dd>
+</dl>
+<dl>
 <dt>Enclosing class:</dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags</a></dd>
 </dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html
index 03bc8e9..6ed4833 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html
@@ -64,47 +64,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueDecoder" class="title">Uses of Class<br>org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueDecoder</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/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</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.wal">org.apache.hadoop.hbase.regionserver.wal</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.wal">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</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/codec/KeyValueCodec.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueDecoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvDecoder</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueDecoder</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar_bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html
index 0895214..ea5fa64 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html
@@ -64,47 +64,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueEncoder" class="title">Uses of Class<br>org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueEncoder</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/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueEncoder</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.wal">org.apache.hadoop.hbase.regionserver.wal</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.wal">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueEncoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</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/codec/KeyValueCodec.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodec.KeyValueEncoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvEncoder</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.codec.KeyValueCodec.KeyValueEncoder</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar_bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html
index f99e18c..bd7bdb0 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html
@@ -64,7 +64,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueDecoder" class="title">Uses of Class<br>org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueDecoder</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueDecoder</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/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</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.wal">org.apache.hadoop.hbase.regionserver.wal</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.wal">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</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/codec/KeyValueCodecWithTags.KeyValueDecoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueDecoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvDecoder</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar_bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html
index adf7871..5f40b2c 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html
@@ -64,7 +64,47 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueEncoder" class="title">Uses of Class<br>org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueEncoder</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.codec.KeyValueCodecWithTags.KeyValueEncoder</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/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueEncoder</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.wal">org.apache.hadoop.hbase.regionserver.wal</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.wal">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueEncoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</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/codec/KeyValueCodecWithTags.KeyValueEncoder.html" title="class in org.apache.hadoop.hbase.codec">KeyValueCodecWithTags.KeyValueEncoder</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html" title="class in org.apache.hadoop.hbase.regionserver.wal">SecureWALCellCodec.EncryptedKvEncoder</a></strong></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar_bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/codec/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/codec/package-use.html b/devapidocs/org/apache/hadoop/hbase/codec/package-use.html
index 059c10f..ef62c0e 100644
--- a/devapidocs/org/apache/hadoop/hbase/codec/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/codec/package-use.html
@@ -187,10 +187,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueDecoder.html#org.apache.hadoop.hbase.regionserver.wal">KeyValueCodec.KeyValueDecoder</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueDecoder.html#org.apache.hadoop.hbase.regionserver.wal">KeyValueCodecWithTags.KeyValueDecoder</a>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/codec/class-use/KeyValueCodec.KeyValueEncoder.html#org.apache.hadoop.hbase.regionserver.wal">KeyValueCodec.KeyValueEncoder</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/codec/class-use/KeyValueCodecWithTags.KeyValueEncoder.html#org.apache.hadoop.hbase.regionserver.wal">KeyValueCodecWithTags.KeyValueEncoder</a>&nbsp;</td>
 </tr>
 </tbody>
 </table>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
index dc0d7a6..434ae88 100644
--- a/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/executor/package-tree.html
@@ -96,8 +96,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/ExecutorType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">ExecutorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.executor.<a href="../../../../../org/apache/hadoop/hbase/executor/EventType.html" title="enum in org.apache.hadoop.hbase.executor"><span class="strong">EventType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 eeb8529..2f4fedd 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/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/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/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/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/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/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>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">CompareFilter.CompareOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">BitComparator.BitwiseOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">Filter.ReturnCode</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index f0e2afe..89d632b 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -349,7 +349,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.181">printUsage</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;errorMessage)</pre>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.180">printUsage</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;errorMessage)</pre>
 </li>
 </ul>
 <a name="printUsage()">
@@ -358,7 +358,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>printUsage</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.190">printUsage</a>()</pre>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.189">printUsage</a>()</pre>
 <div class="block">Prints usage without error message.
  Note that we don't document --expected-count, because it's intended for test.</div>
 </li>
@@ -369,7 +369,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.200">run</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.199">run</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -384,7 +384,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.227">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html#line.226">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>args</code> - The command line parameters.</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 08f430f..4821a4e 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/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">SyncTable.SyncMapper.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
+<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/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">SyncTable.SyncMapper.Counter</span></a></li>
 </ul>
 </li>
 </ul>

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 ce7401d..7cca8ed 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -361,14 +361,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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.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/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="strong">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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>
 <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/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/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="strong">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
 </ul>
 </li>
 </ul>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
index b9f3a92..412b52a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.PeriodicMemstoreFlusher.html
@@ -2339,1090 +2339,1094 @@
 <span class="sourceLineNo">2331</span>    RegionServerStartupResponse result = null;<a name="line.2331"></a>
 <span class="sourceLineNo">2332</span>    try {<a name="line.2332"></a>
 <span class="sourceLineNo">2333</span>      rpcServices.requestCount.set(0);<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      int port = rpcServices.isa.getPort();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setPort(port);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerStartCode(this.startcode);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      request.setServerCurrentTime(now);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>    } catch (ServiceException se) {<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // Re-throw IOE will cause RS to abort<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        throw ioe;<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>        LOG.debug("Master is not running yet");<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        LOG.warn("error telling master we are up", se);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>      rssStub = null;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    }<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    return result;<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  @Override<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    try {<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      if (rss == null) { // Try to connect one more time<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        createRegionServerStatusStub();<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        rss = rssStub;<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>        if (rss == null) {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          // Still no luck, we tried<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>              .build();<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      }<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    } catch (ServiceException e) {<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>          .build();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>  }<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span><a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  /**<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Closes all regions.  Called on our way out.<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * while this method runs.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   */<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>    closeUserRegions(abort);<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>    closeMetaTableRegions(abort);<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  }<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span><a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  /**<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>   * Close meta region if we carry it<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>   * @param abort Whether we're running an abort.<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   */<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    Region meta = null;<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>    this.lock.writeLock().lock();<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    try {<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        if (hri.isMetaRegion()) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          meta = e.getValue();<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>        }<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        if (meta != null) break;<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      }<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>    } finally {<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      this.lock.writeLock().unlock();<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    }<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>  }<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span><a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>  /**<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>   * Schedule closes on all user regions.<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * that are already closed or that are closing.<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param abort Whether we're running an abort.<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   */<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  void closeUserRegions(final boolean abort) {<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>    this.lock.writeLock().lock();<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>    try {<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        Region r = e.getValue();<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>          // Don't update zk with this close transition; pass false.<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>        }<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>      }<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    } finally {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      this.lock.writeLock().unlock();<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  /** @return the info server */<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>  public InfoServer getInfoServer() {<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return infoServer;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>  }<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span><a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>  /**<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @return true if a stop has been requested.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>  @Override<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>  public boolean isStopped() {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>    return this.stopped;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>  }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>  @Override<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>  public boolean isStopping() {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>    return this.stopping;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>  }<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span><a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  @Override<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>    return this.recoveringRegions;<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>  }<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span><a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>  /**<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>   *<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>   * @return the configuration<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>   */<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>  @Override<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>  public Configuration getConfiguration() {<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>    return conf;<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>  }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>  /** @return the write lock for the server */<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>    return lock.writeLock();<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>  }<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span><a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>  public int getNumberOfOnlineRegions() {<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>    return this.onlineRegions.size();<a name="line.2479"></a>
+<span class="sourceLineNo">2334</span>      rpcServices.rpcGetRequestCount.set(0);<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>      rpcServices.rpcScanRequestCount.set(0);<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>      rpcServices.rpcMultiRequestCount.set(0);<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>      rpcServices.rpcMutateRequestCount.set(0);<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>      int port = rpcServices.isa.getPort();<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span>      }<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>      request.setPort(port);<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>      request.setServerStartCode(this.startcode);<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>      request.setServerCurrentTime(now);<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>    } catch (ServiceException se) {<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>        // Re-throw IOE will cause RS to abort<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>        throw ioe;<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span>        LOG.debug("Master is not running yet");<a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>      } else {<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>        LOG.warn("error telling master we are up", se);<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>      }<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>      rssStub = null;<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>    }<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>    return result;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span>  }<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span><a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>  @Override<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>    try {<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span>      if (rss == null) { // Try to connect one more time<a name="line.2372"></a>
+<span class="sourceLineNo">2373</span>        createRegionServerStatusStub();<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span>        rss = rssStub;<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        if (rss == null) {<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          // Still no luck, we tried<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span>              .build();<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        }<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>      }<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>    } catch (ServiceException e) {<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>          .build();<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>    }<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Closes all regions.  Called on our way out.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * while this method runs.<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   */<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>    closeUserRegions(abort);<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>    closeMetaTableRegions(abort);<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  }<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span><a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * Close meta region if we carry it<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * @param abort Whether we're running an abort.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   */<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>    Region meta = null;<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    this.lock.writeLock().lock();<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>    try {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>        if (hri.isMetaRegion()) {<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>          meta = e.getValue();<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>        }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span>        if (meta != null) break;<a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>    } finally {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>      this.lock.writeLock().unlock();<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>    }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Schedule closes on all user regions.<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   * that are already closed or that are closing.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   * @param abort Whether we're running an abort.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   */<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>  void closeUserRegions(final boolean abort) {<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>    this.lock.writeLock().lock();<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>    try {<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>        Region r = e.getValue();<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>          // Don't update zk with this close transition; pass false.<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>        }<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>      }<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>    } finally {<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>      this.lock.writeLock().unlock();<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>    }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span><a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>  /** @return the info server */<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  public InfoServer getInfoServer() {<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>    return infoServer;<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  }<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span><a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>  /**<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>   * @return true if a stop has been requested.<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   */<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>  @Override<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>  public boolean isStopped() {<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    return this.stopped;<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>  }<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span><a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>  @Override<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  public boolean isStopping() {<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>    return this.stopping;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>  }<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span><a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>  @Override<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>    return this.recoveringRegions;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>  }<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>  /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   *<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @return the configuration<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   */<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>  @Override<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  public Configuration getConfiguration() {<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>    return conf;<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>  }<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span><a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>  /** @return the write lock for the server */<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>    return lock.writeLock();<a name="line.2479"></a>
 <span class="sourceLineNo">2480</span>  }<a name="line.2480"></a>
 <span class="sourceLineNo">2481</span><a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>  boolean isOnlineRegionsEmpty() {<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    return this.onlineRegions.isEmpty();<a name="line.2483"></a>
+<span class="sourceLineNo">2482</span>  public int getNumberOfOnlineRegions() {<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>    return this.onlineRegions.size();<a name="line.2483"></a>
 <span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
 <span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * For tests, web ui and metrics.<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>   */<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>    return Collections.unmodifiableCollection(regions);<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  }<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span><a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>  @Override<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>  public void addToOnlineRegions(Region region) {<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>    configurationManager.registerObserver(region);<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>  }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span><a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  /**<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * may NOT return all regions.<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    // we'll sort the regions in reverse<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>        new Comparator&lt;Long&gt;() {<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>          @Override<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>          public int compare(Long a, Long b) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>            return -1 * a.compareTo(b);<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>          }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>        });<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    }<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>    return sortedRegions;<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>  }<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span><a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>  /**<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>   * @return time stamp in millis of when this region server was started<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>   */<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>  public long getStartcode() {<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>    return this.startcode;<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>  }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span><a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>  /** @return reference to FlushRequester */<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>  @Override<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>  public FlushRequester getFlushRequester() {<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    return this.cacheFlusher;<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>  }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span><a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  /**<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>   * the first N regions being served regardless of load.)<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>   */<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>    for (Region r : onlineRegions.values()) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      if (!r.isAvailable()) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>        continue;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>      }<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        regions.add(r.getRegionInfo());<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>      } else {<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        break;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>      }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>    }<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>  }<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span><a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>  @Override<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>  public Leases getLeases() {<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>    return leases;<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>  }<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span><a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>  /**<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>   * @return Return the rootDir.<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>   */<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>  protected Path getRootDir() {<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return rootDir;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * @return Return the fs.<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   */<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>  @Override<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>  public FileSystem getFileSystem() {<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>    return fs;<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  }<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span><a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  @Override<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>  public String toString() {<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>    return getServerName().toString();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span><a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>   * Interval at which threads should run<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>   *<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>   * @return the interval<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>   */<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>  public int getThreadWakeFrequency() {<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    return threadWakeFrequency;<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>    return zooKeeper;<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  @Override<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>    return csm;<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  }<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span><a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>  @Override<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  public ServerName getServerName() {<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span>    return serverName;<a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span><a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>    return this.compactSplitThread;<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span><a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>    return this.rsHost;<a name="line.2612"></a>
+<span class="sourceLineNo">2486</span>  boolean isOnlineRegionsEmpty() {<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>    return this.onlineRegions.isEmpty();<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>  }<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span><a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>  /**<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>   * For tests, web ui and metrics.<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>   */<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>    return Collections.unmodifiableCollection(regions);<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>  }<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span><a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>  @Override<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>  public void addToOnlineRegions(Region region) {<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    configurationManager.registerObserver(region);<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>  }<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span><a name="line.2505"></a>
+<span class="sourceLineNo">2506</span>  /**<a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   * may NOT return all regions.<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>   */<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>    // we'll sort the regions in reverse<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>        new Comparator&lt;Long&gt;() {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>          @Override<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>          public int compare(Long a, Long b) {<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>            return -1 * a.compareTo(b);<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>          }<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>        });<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>    }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span>    return sortedRegions;<a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  }<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span><a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>  /**<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>   * @return time stamp in millis of when this region server was started<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>   */<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>  public long getStartcode() {<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    return this.startcode;<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>  }<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span><a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>  /** @return reference to FlushRequester */<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span>  @Override<a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>  public FlushRequester getFlushRequester() {<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    return this.cacheFlusher;<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>  }<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span><a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>  /**<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>   * the first N regions being served regardless of load.)<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>   */<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>    for (Region r : onlineRegions.values()) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>      if (!r.isAvailable()) {<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>        continue;<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>      }<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>        regions.add(r.getRegionInfo());<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>      } else {<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>        break;<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>      }<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>    }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>  }<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span><a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>  @Override<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>  public Leases getLeases() {<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>    return leases;<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>  }<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span><a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>  /**<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>   * @return Return the rootDir.<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>   */<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>  protected Path getRootDir() {<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>    return rootDir;<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span>  }<a name="line.2571"></a>
+<span class="sourceLineNo">2572</span><a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>  /**<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * @return Return the fs.<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   */<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>  @Override<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>  public FileSystem getFileSystem() {<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>    return fs;<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>  }<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span><a name="line.2580"></a>
+<span class="sourceLineNo">2581</span>  @Override<a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  public String toString() {<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>    return getServerName().toString();<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span><a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>   * Interval at which threads should run<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span>   *<a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>   * @return the interval<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   */<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>  public int getThreadWakeFrequency() {<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>    return threadWakeFrequency;<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>  }<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span><a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>  @Override<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>    return zooKeeper;<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span><a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  @Override<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>    return csm;<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  }<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span><a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  @Override<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  public ServerName getServerName() {<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>    return serverName;<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span><a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    return this.compactSplitThread;<a name="line.2612"></a>
 <span class="sourceLineNo">2613</span>  }<a name="line.2613"></a>
 <span class="sourceLineNo">2614</span><a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  @Override<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>    return this.regionsInTransitionInRS;<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>  public ExecutorService getExecutorService() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    return service;<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span><a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  @Override<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  public ChoreService getChoreService() {<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>    return choreService;<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span><a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>    return rsQuotaManager;<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span><a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>  //<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>  // Main program and support routines<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  //<a name="line.2637"></a>
+<span class="sourceLineNo">2615</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    return this.rsHost;<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>  }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span><a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  @Override<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return this.regionsInTransitionInRS;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public ExecutorService getExecutorService() {<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return service;<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public ChoreService getChoreService() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    return choreService;<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  @Override<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>    return rsQuotaManager;<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
 <span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  /**<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>   * Load the replication service objects, if any<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>   */<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    // If replication is not enabled, then return immediately.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      return;<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>    // read in the name of the source replication class from the config file.<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2653"></a>
+<span class="sourceLineNo">2639</span>  //<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  // Main program and support routines<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  //<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span><a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  /**<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>   * Load the replication service objects, if any<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>   */<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span><a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    // If replication is not enabled, then return immediately.<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      return;<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    }<a name="line.2653"></a>
 <span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>    // read in the name of the sink replication class from the config file.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
+<span class="sourceLineNo">2655</span>    // read in the name of the source replication class from the config file.<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
 <span class="sourceLineNo">2658</span><a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    // only one object.<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>                                         newReplicationInstance(sourceClassname,<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>                                         server.replicationSourceHandler;<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } else {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>                                         newReplicationInstance(sourceClassname,<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>                                         newReplicationInstance(sinkClassname,<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span><a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    Path oldLogDir) throws IOException{<a name="line.2679"></a>
+<span class="sourceLineNo">2659</span>    // read in the name of the sink replication class from the config file.<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span><a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>    // only one object.<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                                         newReplicationInstance(sourceClassname,<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>                                         server.replicationSourceHandler;<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>    } else {<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                         newReplicationInstance(sourceClassname,<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>                                         newReplicationInstance(sinkClassname,<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
 <span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    Class&lt;?&gt; clazz = null;<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    try {<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>      throw new IOException("Could not find class for " + classname);<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>    }<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span><a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    // create an instance of the replication object.<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    ReplicationService service = (ReplicationService)<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>    return service;<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span><a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  /**<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>   *<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>   * @param regionServerClass<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>   * @param conf2<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>   * @return HRegionServer instance.<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>   */<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  public static HRegionServer constructRegionServer(<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    try {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      return c.newInstance(conf2, cp);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    } catch (Exception e) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>          + regionServerClass.toString(), e);<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>  }<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span><a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  /**<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>   */<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public static void main(String[] args) throws Exception {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>    VersionInfo.logVersion();<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    @SuppressWarnings("unchecked")<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span><a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span><a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  /**<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>   * Gets the online regions of the specified table.<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>   * all the ONLINE regions in the table.<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>   * @param tableName<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>   */<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>  @Override<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>     synchronized (this.onlineRegions) {<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>           tableRegions.add(region);<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>         }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>       }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>     }<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>     return tableRegions;<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>   }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span><a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  @Override<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    synchronized (this.onlineRegions) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      // Return a clone copy of the onlineRegions<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>      allRegions.addAll(onlineRegions.values());<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>    }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>    return allRegions;<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  }<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>  /**<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>   * Gets the online tables in this RS.<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>   * This method looks at the in-memory onlineRegions.<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>   * @return all the online tables in this RS<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>   */<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  @Override<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>  public Set&lt;TableName&gt; getOnlineTables() {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    Set&lt;TableName&gt; tables = new HashSet&lt;TableName&gt;();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    synchronized (this.onlineRegions) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      for (Region region: this.onlineRegions.values()) {<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        tables.add(region.getTableDesc().getTableName());<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>      }<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>    }<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>    return tables;<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  // used by org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (HBASE-4070).<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>  public String[] getRegionServerCoprocessors() {<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    TreeSet&lt;String&gt; coprocessors = new TreeSet&lt;String&gt;();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>    try {<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>      coprocessors.addAll(getWAL(null).getCoprocessorHost().getCoprocessors());<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>    } catch (IOException exception) {<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>      LOG.warn("Exception attempting to fetch wal coprocessor information for the common wal; " +<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>          "skipping.");<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>      LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    }<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    Collection&lt;Region&gt; regions = getOnlineRegionsLocalContext();<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>    for (Region region: regions) {<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>      coprocessors.addAll(region.getCoprocessorHost().getCoprocessors());<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>      try {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>        coprocessors.addAll(getWAL(region.getRegionInfo()).getCoprocessorHost().getCoprocessors());<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>      } catch (IOException exception) {<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>        LOG.warn("Exception attempting to fetch wal coprocessor information for region " + region +<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>            "; skipping.");<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>        LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>      }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    }<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>    return coprocessors.toArray(new String[coprocessors.size()]);<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  }<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span><a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>  /**<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>   * Try to close the region, logs a warning on failure but continues.<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>   * @param region Region to close<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>   */<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>  private void closeRegionIgnoreErrors(HRegionInfo region, final boolean abort) {<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    try {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      if (!closeRegion(region.getEncodedName(), abort, null)) {<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>        LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>            " - ignoring and continuing");<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>      }<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    } catch (IOException e) {<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>      LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>          " - ignoring and continuing", e);<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>    }<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  }<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span><a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  /**<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>   * Close asynchronously a region, can be called from the master or internally by the regionserver<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>   * when stopping. If called from the master, the region will update the znode status.<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>   *<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>   * &lt;p&gt;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>   * If an opening was in progress, this method will cancel it, but will not start a new close. The<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>   * coprocessors are not called in this case. A NotServingRegionException exception is thrown.<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>   * &lt;/p&gt;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span><a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * &lt;p&gt;<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   *   If a close was in progress, this new request will be ignored, and an exception thrown.<a name="line.2828"></a>
+<span class="sourceLineNo">2681</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    Path oldLogDir) throws IOException{<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span><a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>    Class&lt;?&gt; clazz = null;<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    try {<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>      throw new IOException("Could not find class for " + classname);<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>    }<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span><a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    // create an instance of the replication object.<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    ReplicationService service = (ReplicationService)<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    return service;<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span><a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  /**<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>   *<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>   * @param regionServerClass<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>   * @param conf2<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>   * @return HRegionServer instance.<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   */<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  public static HRegionServer constructRegionServer(<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    try {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>      return c.newInstance(conf2, cp);<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    } catch (Exception e) {<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>          + regionServerClass.toString(), e);<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  /**<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>   */<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  public static void main(String[] args) throws Exception {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    VersionInfo.logVersion();<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    @SuppressWarnings("unchecked")<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>  /**<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>   * Gets the online regions of the specified table.<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>   * all the ONLINE regions in the table.<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>   * @param tableName<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>   */<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>  @Override<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>     synchronized (this.onlineRegions) {<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>           tableRegions.add(region);<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>         }<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>       }<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>     }<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>     return tableRegions;<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>   }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span><a name="line.2756"></a>
+<span class="sourceLineNo">2757</span>  @Override<a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>    synchronized (this.onlineRegions) {<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>      // Return a clone copy of the onlineRegions<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>      allRegions.addAll(onlineRegions.values());<a name="l

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
index 066a222..f664c6f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
@@ -2159,7 +2159,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>ROWS</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2199">ROWS</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2202">ROWS</a></pre>
 <div class="block">All the row values for the data loaded by <code>#loadTable(HTable, byte[])</code></div>
 </li>
 </ul>
@@ -2169,7 +2169,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>KEYS</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2214">KEYS</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2217">KEYS</a></pre>
 </li>
 </ul>
 <a name="KEYS_FOR_HBA_CREATE_TABLE">
@@ -2178,7 +2178,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>KEYS_FOR_HBA_CREATE_TABLE</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2226">KEYS_FOR_HBA_CREATE_TABLE</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2229">KEYS_FOR_HBA_CREATE_TABLE</a></pre>
 </li>
 </ul>
 <a name="hbaseAdmin">
@@ -2187,7 +2187,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>hbaseAdmin</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2713">hbaseAdmin</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2716">hbaseAdmin</a></pre>
 </li>
 </ul>
 <a name="zooKeeperWatcher">
@@ -2196,7 +2196,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>zooKeeperWatcher</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2737">zooKeeperWatcher</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2740">zooKeeperWatcher</a></pre>
 </li>
 </ul>
 <a name="random">
@@ -2205,7 +2205,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>random</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3442">random</a></pre>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3445">random</a></pre>
 </li>
 </ul>
 <a name="portAllocator">
@@ -2214,7 +2214,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java
 <ul class="blockListLast">
 <li class="blockList">
 <h4>portAllocator</h4>
-<pre>private static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility.PortAllocator</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3444">portAllocator</a></pre>
+<pre>private static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.PortAllocator.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility.PortAllocator</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3447">portAllocator</a></pre>
 </li>
 </ul>
 </li>
@@ -3837,7 +3837,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.HTable&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1890">truncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<pre>public&nbsp;org.apache.hadoop.hbase.client.HTable&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1893">truncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                                     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">Truncate a table using the admin command.
  Effectively disables, deletes, and recreates the table.
@@ -3856,7 +3856,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1901">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1904">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
             byte[]&nbsp;f)
               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">Load table with rows from 'aaa' to 'zzz'.</div>
@@ -3872,7 +3872,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1912">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1915">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
             byte[]&nbsp;f,
             boolean&nbsp;writeToWAL)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3889,7 +3889,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1923">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1926">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
             byte[][]&nbsp;f)
               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">Load table of multiple column families with rows from 'aaa' to 'zzz'.</div>
@@ -3905,7 +3905,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1935">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1938">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
             byte[][]&nbsp;f,
             byte[]&nbsp;value)
               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>
@@ -3922,7 +3922,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1947">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1950">loadTable</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
             byte[][]&nbsp;f,
             byte[]&nbsp;value,
             boolean&nbsp;writeToWAL)
@@ -3940,7 +3940,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2013">loadRegion</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2016">loadRegion</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;r,
              byte[]&nbsp;f)
                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>
@@ -3953,7 +3953,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2017">loadRegion</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2020">loadRegion</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;r,
              byte[]&nbsp;f)
                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>
@@ -3966,7 +3966,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2029">loadRegion</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2032">loadRegion</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;r,
              byte[]&nbsp;f,
              boolean&nbsp;flush)
                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>
@@ -3983,7 +3983,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>loadNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2066">loadNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2069">loadNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
                    byte[]&nbsp;f,
                    int&nbsp;startRow,
                    int&nbsp;endRow)
@@ -3998,7 +3998,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2076">verifyNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2079">verifyNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -4014,7 +4014,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2095">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2098">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -4029,7 +4029,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2100">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2103">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -4044,7 +4044,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2105">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2108">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.Region&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -4060,7 +4060,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2110">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2113">verifyNumericRows</a>(org.apache.hadoop.hbase.regionserver.HRegion&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -4076,7 +4076,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2130">deleteNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2133">deleteNumericRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;t,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -4091,7 +4091,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2143">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2146">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the number of rows in the given table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4104,7 +4104,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2147">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2150">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
             org.apache.hadoop.hbase.client.Scan&nbsp;scan)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4117,7 +4117,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2157">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2160">countRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table,
             byte[]...&nbsp;families)
               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>
@@ -4130,7 +4130,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2174">countRows</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2177">countRows</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the number of rows in the given table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4143,7 +4143,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>checksumRows</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/HBaseTestingUtility.html#line.2186">checksumRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
+<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/HBaseTestingUtility.html#line.2189">checksumRows</a>(org.apache.hadoop.hbase.client.Table&nbsp;table)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Return an md5 digest of the entire contents of a table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4156,7 +4156,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createMultiRegionsInMeta</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2248">createMultiRegionsInMeta</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.HRegionInfo&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2251">createMultiRegionsInMeta</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                                  org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd,
                                                                  byte[][]&nbsp;startKeys)
                                                                    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>
@@ -4175,7 +4175,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createWal</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.wal.WAL&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2272">createWal</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;org.apache.hadoop.hbase.wal.WAL&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2275">createWal</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                         org.apache.hadoop.fs.Path&nbsp;rootDir,
                                         org.apache.hadoop.hbase.HRegionInfo&nbsp;hri)
                                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4190,7 +4190,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionAndWAL</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2288">createRegionAndWAL</a>(org.apache.hadoop.hbase.HRegionInfo&nbsp;info,
+<pre>public static&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2291">createRegionAndWAL</a>(org.apache.hadoop.hbase.HRegionInfo&nbsp;info,
                                                               org.apache.hadoop.fs.Path&nbsp;rootDir,
                                                               org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                               org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd)
@@ -4207,7 +4207,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionAndWAL</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2297">createRegionAndWAL</a>(org.apache.hadoop.hbase.HRegionInfo&nbsp;info,
+<pre>public static&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2300">createRegionAndWAL</a>(org.apache.hadoop.hbase.HRegionInfo&nbsp;info,
                                                               org.apache.hadoop.fs.Path&nbsp;rootDir,
                                                               org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                               org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd,
@@ -4225,7 +4225,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableRows</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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2309">getMetaTableRows</a>()
+<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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2312">getMetaTableRows</a>()
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns all rows from the hbase:meta table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4238,7 +4238,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableRows</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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2329">getMetaTableRows</a>(org.apache.hadoop.hbase.TableName&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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2332">getMetaTableRows</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns all rows from the hbase:meta table for a given user table</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4251,7 +4251,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSForFirstRegionInTable</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2364">getRSForFirstRegionInTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegionServer&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2367">getRSForFirstRegionInTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                                                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Tool to get the reference to the region server object that holds the
@@ -4272,7 +4272,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>startMiniMapReduceCluster</h4>
-<pre>public&nbsp;org.apache.hadoop.mapred.MiniMRCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2396">startMiniMapReduceCluster</a>()
+<pre>public&nbsp;org.apache.hadoop.mapred.MiniMRCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2399">startMiniMapReduceCluster</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">Starts a <code>MiniMRCluster</code> with a default number of
  <code>TaskTracker</code>'s.</div>
@@ -4286,7 +4286,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>forceChangeTaskLogDir</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2405">forceChangeTaskLogDir</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2408">forceChangeTaskLogDir</a>()</pre>
 <div class="block">Tasktracker has a bug where changing the hadoop.log.dir system property
  will not change its internal static LOG_DIR variable.</div>
 </li>
@@ -4297,7 +4297,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>startMiniMapReduceCluster</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2434">startMiniMapReduceCluster</a>(int&nbsp;servers)
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2437">startMiniMapReduceCluster</a>(int&nbsp;servers)
                                 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">Starts a <code>MiniMRCluster</code>. Call <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html#setFileSystemURI(java.lang.String)"><code>setFileSystemURI(String)</code></a> to use a different
  filesystem.</div>
@@ -4312,7 +4312,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdownMiniMapReduceCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2493">shutdownMiniMapReduceCluster</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2496">shutdownMiniMapReduceCluster</a>()</pre>
 <div class="block">Stops the previously started <code>MiniMRCluster</code>.</div>
 </li>
 </ul>
@@ -4322,7 +4322,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2507">createMockRegionServerService</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2510">createMockRegionServerService</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">Create a stubbed out RegionServerService, mainly for getting FS.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4335,7 +4335,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2515">createMockRegionServerService</a>(org.apache.hadoop.hbase.ipc.RpcServerInterface&nbsp;rpc)
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2518">createMockRegionServerService</a>(org.apache.hadoop.hbase.ipc.RpcServerInterface&nbsp;rpc)
                                                                                         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">Create a stubbed out RegionServerService, mainly for getting FS.
  This version is used by TestTokenAuthentication</div>
@@ -4349,7 +4349,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2526">createMockRegionServerService</a>(org.apache.hadoop.hbase.ServerName&nbsp;name)
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.RegionServerServices&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2529">createMockRegionServerService</a>(org.apache.hadoop.hbase.ServerName&nbsp;name)
                                                                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a stubbed out RegionServerService, mainly for getting FS.
  This version is used by TestOpenRegionHandler</div>
@@ -4363,7 +4363,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>enableDebug</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2537">enableDebug</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2540">enableDebug</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
 <div class="block">Switches the logger for the given class to DEBUG level.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>clazz</code> - The class for which to switch to debug logging.</dd></dl>
 </li>
@@ -4374,7 +4374,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>expireMasterSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2550">expireMasterSession</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2553">expireMasterSession</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire the Master's session</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4387,7 +4387,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>expireRegionServerSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2560">expireRegionServerSession</a>(int&nbsp;index)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2563">expireRegionServerSession</a>(int&nbsp;index)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire a region server's session</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - which RS</dd>
@@ -4401,7 +4401,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>decrementMinRegionServerCount</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2566">decrementMinRegionServerCount</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2569">decrementMinRegionServerCount</a>()</pre>
 </li>
 </ul>
 <a name="decrementMinRegionServerCount(org.apache.hadoop.conf.Configuration)">
@@ -4410,7 +4410,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>decrementMinRegionServerCount</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2577">decrementMinRegionServerCount</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2580">decrementMinRegionServerCount</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="expireSession(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher)">
@@ -4419,7 +4419,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>expireSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2586">expireSession</a>(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;nodeZK)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2589">expireSession</a>(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;nodeZK)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -4431,7 +4431,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>expireSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2601">expireSession</a>(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;nodeZK,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2604">expireSession</a>(org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;nodeZK,
                  boolean&nbsp;checkStatus)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire a ZooKeeper session as recommended in ZooKeeper documentation
@@ -4451,7 +4451,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2652">getHBaseCluster</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2655">getHBaseCluster</a>()</pre>
 <div class="block">Get the Mini HBase cluster.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>hbase cluster</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html#getHBaseClusterInterface()"><code>getHBaseClusterInterface()</code></a></dd></dl>
 </li>
@@ -4462,7 +4462,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getHBaseClusterInterface</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseCluster.html" title="class in org.apache.hadoop.hbase">HBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2664">getHBaseClusterInterface</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/HBaseCluster.html" title="class in org.apache.hadoop.hbase">HBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2667">getHBaseClusterInterface</a>()</pre>
 <div class="block">Returns the HBaseCluster instance.
  <p>Returned object can be any of the subclasses of HBaseCluster, and the
  tests referring this should not assume that the cluster is a mini cluster or a
@@ -4477,7 +4477,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.Connection&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2676">getConnection</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.client.Connection&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2679">getConnection</a>()
                                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a Connection to the cluster.
  Not thread-safe (This class needs a lot of work to make it thread-safe).</div>
@@ -4493,7 +4493,7 @@ public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../
 <li class="blockList">
 <h4>getHBaseAdmin</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;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2694">getHBaseAdmin</a>()
+public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2697">getHBaseAdmin</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"><span class="strong">Deprecated.</span>&nbsp;<i>Since 2.0. Will be removed in 3.0. Use <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html#getAdmin()"><code>getAdmin()</code></a> instead.</i></div>
 <div class="block">Returns a Admin instance.
@@ -4512,7 +4512,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdmin</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.Admin&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2706">getAdmin</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.client.Admin&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2709">getAdmin</a>()
                                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns an Admin instance which is shared between HBaseTestingUtility instance users.
  Closing it has no effect, it will be closed automatically when the cluster shutdowns</div>
@@ -4526,7 +4526,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeperWatcher</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2724">getZooKeeperWatcher</a>()
+<pre>public&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2727">getZooKeeperWatcher</a>()
                                                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns a ZooKeeperWatcher instance.
  This instance is shared between HBaseTestingUtility instance users.
@@ -4543,7 +4543,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2747">closeRegion</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;regionName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2750">closeRegion</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;regionName)
                  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 named region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - The region to close.</dd>
@@ -4557,7 +4557,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2757">closeRegion</a>(byte[]&nbsp;regionName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2760">closeRegion</a>(byte[]&nbsp;regionName)
                  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 named region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - The region to close.</dd>
@@ -4571,7 +4571,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionByRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2768">closeRegionByRow</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;row,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2771">closeRegionByRow</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;row,
                     org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes the region containing the given row.</div>
@@ -4586,7 +4586,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionByRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2779">closeRegionByRow</a>(byte[]&nbsp;row,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2782">closeRegionByRow</a>(byte[]&nbsp;row,
                     org.apache.hadoop.hbase.client.RegionLocator&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes the region containing the given row.</div>
@@ -4601,7 +4601,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplittableRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2791">getSplittableRegion</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>public&nbsp;org.apache.hadoop.hbase.regionserver.HRegion&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2794">getSplittableRegion</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                                                int&nbsp;maxAttempts)</pre>
 </li>
 </ul>
@@ -4611,7 +4611,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getZkCluster</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2824">getZkCluster</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2827">getZkCluster</a>()</pre>
 </li>
 </ul>
 <a name="setZkCluster(org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster)">
@@ -4620,7 +4620,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>setZkCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2828">setZkCluster</a>(org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster&nbsp;zkCluster)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2831">setZkCluster</a>(org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster&nbsp;zkCluster)</pre>
 </li>
 </ul>
 <a name="getDFSCluster()">
@@ -4629,7 +4629,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getDFSCluster</h4>
-<pre>public&nbsp;org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2834">getDFSCluster</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2837">getDFSCluster</a>()</pre>
 </li>
 </ul>
 <a name="setDFSCluster(org.apache.hadoop.hdfs.MiniDFSCluster)">
@@ -4638,7 +4638,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>setDFSCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2838">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2841">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                           <a href="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>
@@ -4652,7 +4652,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>setDFSCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2850">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2853">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster,
                  boolean&nbsp;requireDown)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                           <a href="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>
@@ -4670,7 +4670,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getTestFileSystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2859">getTestFileSystem</a>()
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2862">getTestFileSystem</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>
@@ -4682,7 +4682,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2870">waitTableAvailable</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2873">waitTableAvailable</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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 until all regions in a table have been assigned.  Waits default timeout before giving up
@@ -4699,7 +4699,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2875">waitTableAvailable</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2878">waitTableAvailable</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
                       long&nbsp;timeoutMillis)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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>
@@ -4714,7 +4714,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2887">waitTableAvailable</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2890">waitTableAvailable</a>(byte[]&nbsp;table,
                       long&nbsp;timeoutMillis)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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>
@@ -4731,7 +4731,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>explainTableAvailability</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/HBaseTestingUtility.html#line.2892">explainTableAvailability</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<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/HBaseTestingUtility.html#line.2895">explainTableAvailability</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                 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>
@@ -4743,7 +4743,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>explainTableState</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/HBaseTestingUtility.html#line.2920">explainTableState</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
+<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/HBaseTestingUtility.html#line.2923">explainTableState</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
                        org.apache.hadoop.hbase.client.TableState.State&nbsp;state)
                          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>
@@ -4757,7 +4757,7 @@ public&nbsp;org.apache.hadoop.hbase.client.HBaseAdmin&nbsp;<a href="../../../../
 <li class="blockList">
 <h4>findLastTableState</h4>
 <pre><a href="http://docs.oracle.com/javase/7/docs/api/javax/annotation/Nullable.html?is-external=true" title="class or interface in javax.annotation">@Nullable</a>
-public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2934">findLastTableState</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
+public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2937">findLastTableState</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
                                                              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>
@@ -4769,7 +4769,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2963">waitTableEnabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2966">waitTableEnabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                              <a href="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">Waits for a table to be 'enabled'.  Enabled means that table is set as 'enabled' and the
@@ -4787,7 +4787,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2977">waitTableEnabled</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2980">waitTableEnabled</a>(byte[]&nbsp;table,
                     long&nbsp;timeoutMillis)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                              <a href="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>
@@ -4805,7 +4805,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2982">waitTableEnabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2985">waitTableEnabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
                     long&nbsp;timeoutMillis)
                       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>
@@ -4818,7 +4818,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2994">waitTableDisabled</a>(byte[]&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2997">waitTableDisabled</a>(byte[]&nbsp;table)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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">Waits for a table to be 'disabled'.  Disabled means that table is set as 'disabled'
@@ -4835,7 +4835,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2999">waitTableDisabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3002">waitTableDisabled</a>(org.apache.hadoop.hbase.TableName&nbsp;table,
                      long&nbsp;millisTimeout)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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>
@@ -4850,7 +4850,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3011">waitTableDisabled</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3014">waitTableDisabled</a>(byte[]&nbsp;table,
                      long&nbsp;timeoutMillis)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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>
@@ -4867,7 +4867,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>ensureSomeRegionServersAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3023">ensureSomeRegionServersAvailable</a>(int&nbsp;num)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3026">ensureSomeRegionServersAvailable</a>(int&nbsp;num)
                                          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">Make sure that at least the specified number of region servers
  are running</div>
@@ -4883,7 +4883,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>ensureSomeNonStoppedRegionServersAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3044">ensureSomeNonStoppedRegionServersAvailable</a>(int&nbsp;num)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3047">ensureSomeNonStoppedRegionServersAvailable</a>(int&nbsp;num)
                                                    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">Make sure that at least the specified number of region servers
  are running. We don't count the ones that are currently stopping or are
@@ -4900,7 +4900,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getDifferentUser</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.security.User&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3076">getDifferentUser</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>public static&nbsp;org.apache.hadoop.hbase.security.User&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3079">getDifferentUser</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;differentiatingSuffix)
                                                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method clones the passed <code>c</code> configuration setting a new
@@ -4918,7 +4918,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllOnlineRegions</h4>
-<pre>public static&nbsp;<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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3092">getAllOnlineRegions</a>(<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;cluster)
+<pre>public static&nbsp;<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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3095">getAllOnlineRegions</a>(<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;cluster)
                                                 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>
@@ -4930,7 +4930,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxRecoveryErrorCount</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3133">setMaxRecoveryErrorCount</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3136">setMaxRecoveryErrorCount</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
                             int&nbsp;max)</pre>
 <div class="block">Set maxRecoveryErrorCount in DFSClient.  In 0.20 pre-append its hard-coded to 5 and
  makes tests linger.  Here is the exception you'll see:
@@ -4951,7 +4951,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitUntilAllRegionsAssigned</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3162">waitUntilAllRegionsAssigned</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3165">waitUntilAllRegionsAssigned</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName)
                                  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 until all regions for a table in hbase:meta have a non-empty
  info:server, up to 60 seconds. This means all regions have been deployed,
@@ -4968,7 +4968,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitUntilAllRegionsAssigned</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3175">waitUntilAllRegionsAssigned</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3178">waitUntilAllRegionsAssigned</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                long&nbsp;timeout)
                                  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 until all regions for a table in hbase:meta have a non-empty
@@ -4986,7 +4986,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromStoreFile</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Cell&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3236">getFromStoreFile</a>(org.apache.hadoop.hbase.regionserver.HStore&nbsp;store,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Cell&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3239">getFromStoreFile</a>(org.apache.hadoop.hbase.regionserver.HStore&nbsp;store,
                                                   org.apache.hadoop.hbase.client.Get&nbsp;get)
                                                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a small get/scan against one store. This is required because store
@@ -5001,7 +5001,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSplitStartKeys</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3266">getRegionSplitStartKeys</a>(byte[]&nbsp;startKey,
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3269">getRegionSplitStartKeys</a>(byte[]&nbsp;startKey,
                                byte[]&nbsp;endKey,
                                int&nbsp;numRegions)</pre>
 <div class="block">Create region split keys between startkey and endKey</div>
@@ -5015,7 +5015,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromStoreFile</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Cell&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3279">getFromStoreFile</a>(org.apache.hadoop.hbase.regionserver.HStore&nbsp;store,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.Cell&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3282">getFromStoreFile</a>(org.apache.hadoop.hbase.regionserver.HStore&nbsp;store,
                                                   byte[]&nbsp;row,
                                                   <a href="http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns)
                                                            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>
@@ -5031,7 +5031,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeperWatcher</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3294">getZooKeeperWatcher</a>(<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a>&nbsp;TEST_UTIL)
+<pre>public static&nbsp;org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3297">getZooKeeperWatcher</a>(<a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a>&nbsp;TEST_UTIL)
                                                                               throws org.apache.hadoop.hbase.ZooKeeperConnectionException,
                                                                                      <a href="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">Gets a ZooKeeperWatcher.</div>
@@ -5047,7 +5047,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>assertKVListsEqual</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3315">assertKVListsEqual</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;additionalMsg,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3318">assertKVListsEqual</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;additionalMsg,
                       <a href="http://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 org.apache.hadoop.hbase.Cell&gt;&nbsp;expected,
                       <a href="http://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 org.apache.hadoop.hbase.Cell&gt;&nbsp;actual)</pre>
 </li>
@@ -5058,7 +5058,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>safeGetAsStr</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://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/HBaseTestingUtility.html#line.3342">safeGetAsStr</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;T&gt;&nbsp;lst,
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://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/HBaseTestingUtility.html#line.3345">safeGetAsStr</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;T&gt;&nbsp;lst,
                       int&nbsp;i)</pre>
 </li>
 </ul>
@@ -5068,7 +5068,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterKey</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/HBaseTestingUtility.html#line.3350">getClusterKey</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/HBaseTestingUtility.html#line.3353">getClusterKey</a>()</pre>
 </li>
 </ul>
 <a name="createRandomTable(org.apache.hadoop.hbase.TableName, java.util.Collection, int, int, int, int, int)">
@@ -5077,7 +5077,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createRandomTable</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.client.Table&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3358">createRandomTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>public&nbsp;org.apache.hadoop.hbase.client.Table&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3361">createRandomTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                                      <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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;families,
                                                      int&nbsp;maxVersions,
                                                      int&nbsp;numColsPerRow,
@@ -5098,7 +5098,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>randomFreePort</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3446">randomFreePort</a>()</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3449">randomFreePort</a>()</pre>
 </li>
 </ul>
 <a name="randomMultiCastAddress()">
@@ -5107,7 +5107,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>randomMultiCastAddress</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3516">randomMultiCastAddress</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3519">randomMultiCastAddress</a>()</pre>
 </li>
 </ul>
 <a name="waitForHostPort(java.lang.String, int)">
@@ -5116,7 +5116,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForHostPort</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3522">waitForHostPort</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;host,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3525">waitForHostPort</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;host,
                    int&nbsp;port)
                             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>
@@ -5129,7 +5129,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createPreSplitLoadTestTable</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3553">createPreSplitLoadTestTable</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3556">createPreSplitLoadTestTable</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                               org.apache.hadoop.hbase.TableName&nbsp;tableName,
                               byte[]&nbsp;columnFamily,
                               org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression,
@@ -5148,7 +5148,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableState&nbsp;<a href="../../../../
 <ul class="blockList">
 <li class="blockList">
 <h4>createPreSplitLoadTestTable</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3565">createPreSplitLoadTestTable</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3568">createPreSplitLoadTestTable</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                               org.apache.hadoop.hbase.TableName&nbsp;tableName,
                               byte[]&nbsp;columnFamily,
                               org.apache.hadoop.hbase.io.compress.Compression.Algorithm&nbsp;compression,
@@ -5170,7 +5170,7 @@ public&nbsp;org.apache.hadoop.hbase.client.TableS

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306</span>         

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index b9f3a92..412b52a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -2339,1090 +2339,1094 @@
 <span class="sourceLineNo">2331</span>    RegionServerStartupResponse result = null;<a name="line.2331"></a>
 <span class="sourceLineNo">2332</span>    try {<a name="line.2332"></a>
 <span class="sourceLineNo">2333</span>      rpcServices.requestCount.set(0);<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      int port = rpcServices.isa.getPort();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setPort(port);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerStartCode(this.startcode);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      request.setServerCurrentTime(now);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>    } catch (ServiceException se) {<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // Re-throw IOE will cause RS to abort<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        throw ioe;<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>        LOG.debug("Master is not running yet");<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        LOG.warn("error telling master we are up", se);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>      rssStub = null;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    }<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    return result;<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  @Override<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    try {<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      if (rss == null) { // Try to connect one more time<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        createRegionServerStatusStub();<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        rss = rssStub;<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>        if (rss == null) {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          // Still no luck, we tried<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>              .build();<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      }<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    } catch (ServiceException e) {<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>          .build();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>  }<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span><a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  /**<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Closes all regions.  Called on our way out.<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * while this method runs.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   */<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>    closeUserRegions(abort);<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>    closeMetaTableRegions(abort);<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  }<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span><a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  /**<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>   * Close meta region if we carry it<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>   * @param abort Whether we're running an abort.<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   */<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    Region meta = null;<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>    this.lock.writeLock().lock();<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    try {<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        if (hri.isMetaRegion()) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          meta = e.getValue();<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>        }<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        if (meta != null) break;<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      }<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>    } finally {<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      this.lock.writeLock().unlock();<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    }<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>  }<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span><a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>  /**<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>   * Schedule closes on all user regions.<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * that are already closed or that are closing.<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param abort Whether we're running an abort.<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   */<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  void closeUserRegions(final boolean abort) {<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>    this.lock.writeLock().lock();<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>    try {<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        Region r = e.getValue();<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>          // Don't update zk with this close transition; pass false.<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>        }<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>      }<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    } finally {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      this.lock.writeLock().unlock();<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  /** @return the info server */<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>  public InfoServer getInfoServer() {<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return infoServer;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>  }<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span><a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>  /**<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @return true if a stop has been requested.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>  @Override<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>  public boolean isStopped() {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>    return this.stopped;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>  }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>  @Override<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>  public boolean isStopping() {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>    return this.stopping;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>  }<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span><a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  @Override<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>    return this.recoveringRegions;<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>  }<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span><a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>  /**<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>   *<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>   * @return the configuration<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>   */<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>  @Override<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>  public Configuration getConfiguration() {<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>    return conf;<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>  }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>  /** @return the write lock for the server */<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>    return lock.writeLock();<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>  }<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span><a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>  public int getNumberOfOnlineRegions() {<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>    return this.onlineRegions.size();<a name="line.2479"></a>
+<span class="sourceLineNo">2334</span>      rpcServices.rpcGetRequestCount.set(0);<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>      rpcServices.rpcScanRequestCount.set(0);<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>      rpcServices.rpcMultiRequestCount.set(0);<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>      rpcServices.rpcMutateRequestCount.set(0);<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>      int port = rpcServices.isa.getPort();<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span>      }<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>      request.setPort(port);<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>      request.setServerStartCode(this.startcode);<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>      request.setServerCurrentTime(now);<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>    } catch (ServiceException se) {<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>        // Re-throw IOE will cause RS to abort<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>        throw ioe;<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span>        LOG.debug("Master is not running yet");<a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>      } else {<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>        LOG.warn("error telling master we are up", se);<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>      }<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>      rssStub = null;<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>    }<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>    return result;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span>  }<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span><a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>  @Override<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>    try {<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span>      if (rss == null) { // Try to connect one more time<a name="line.2372"></a>
+<span class="sourceLineNo">2373</span>        createRegionServerStatusStub();<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span>        rss = rssStub;<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        if (rss == null) {<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          // Still no luck, we tried<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span>              .build();<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        }<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>      }<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>    } catch (ServiceException e) {<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>          .build();<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>    }<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Closes all regions.  Called on our way out.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * while this method runs.<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   */<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>    closeUserRegions(abort);<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>    closeMetaTableRegions(abort);<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  }<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span><a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * Close meta region if we carry it<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * @param abort Whether we're running an abort.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   */<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>    Region meta = null;<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    this.lock.writeLock().lock();<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>    try {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>        if (hri.isMetaRegion()) {<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>          meta = e.getValue();<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>        }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span>        if (meta != null) break;<a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>    } finally {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>      this.lock.writeLock().unlock();<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>    }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Schedule closes on all user regions.<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   * that are already closed or that are closing.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   * @param abort Whether we're running an abort.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   */<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>  void closeUserRegions(final boolean abort) {<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>    this.lock.writeLock().lock();<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>    try {<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>        Region r = e.getValue();<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>          // Don't update zk with this close transition; pass false.<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>        }<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>      }<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>    } finally {<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>      this.lock.writeLock().unlock();<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>    }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span><a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>  /** @return the info server */<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  public InfoServer getInfoServer() {<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>    return infoServer;<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  }<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span><a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>  /**<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>   * @return true if a stop has been requested.<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   */<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>  @Override<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>  public boolean isStopped() {<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    return this.stopped;<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>  }<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span><a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>  @Override<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  public boolean isStopping() {<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>    return this.stopping;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>  }<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span><a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>  @Override<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>    return this.recoveringRegions;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>  }<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>  /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   *<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @return the configuration<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   */<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>  @Override<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  public Configuration getConfiguration() {<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>    return conf;<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>  }<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span><a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>  /** @return the write lock for the server */<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>    return lock.writeLock();<a name="line.2479"></a>
 <span class="sourceLineNo">2480</span>  }<a name="line.2480"></a>
 <span class="sourceLineNo">2481</span><a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>  boolean isOnlineRegionsEmpty() {<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    return this.onlineRegions.isEmpty();<a name="line.2483"></a>
+<span class="sourceLineNo">2482</span>  public int getNumberOfOnlineRegions() {<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>    return this.onlineRegions.size();<a name="line.2483"></a>
 <span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
 <span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * For tests, web ui and metrics.<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>   */<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>    return Collections.unmodifiableCollection(regions);<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  }<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span><a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>  @Override<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>  public void addToOnlineRegions(Region region) {<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>    configurationManager.registerObserver(region);<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>  }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span><a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  /**<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * may NOT return all regions.<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    // we'll sort the regions in reverse<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>        new Comparator&lt;Long&gt;() {<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>          @Override<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>          public int compare(Long a, Long b) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>            return -1 * a.compareTo(b);<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>          }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>        });<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    }<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>    return sortedRegions;<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>  }<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span><a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>  /**<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>   * @return time stamp in millis of when this region server was started<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>   */<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>  public long getStartcode() {<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>    return this.startcode;<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>  }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span><a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>  /** @return reference to FlushRequester */<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>  @Override<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>  public FlushRequester getFlushRequester() {<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    return this.cacheFlusher;<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>  }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span><a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  /**<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>   * the first N regions being served regardless of load.)<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>   */<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>    for (Region r : onlineRegions.values()) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      if (!r.isAvailable()) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>        continue;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>      }<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        regions.add(r.getRegionInfo());<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>      } else {<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        break;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>      }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>    }<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>  }<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span><a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>  @Override<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>  public Leases getLeases() {<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>    return leases;<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>  }<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span><a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>  /**<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>   * @return Return the rootDir.<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>   */<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>  protected Path getRootDir() {<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return rootDir;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * @return Return the fs.<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   */<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>  @Override<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>  public FileSystem getFileSystem() {<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>    return fs;<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  }<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span><a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  @Override<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>  public String toString() {<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>    return getServerName().toString();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span><a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>   * Interval at which threads should run<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>   *<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>   * @return the interval<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>   */<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>  public int getThreadWakeFrequency() {<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    return threadWakeFrequency;<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>    return zooKeeper;<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  @Override<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>    return csm;<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  }<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span><a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>  @Override<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  public ServerName getServerName() {<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span>    return serverName;<a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span><a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>    return this.compactSplitThread;<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span><a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>    return this.rsHost;<a name="line.2612"></a>
+<span class="sourceLineNo">2486</span>  boolean isOnlineRegionsEmpty() {<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>    return this.onlineRegions.isEmpty();<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>  }<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span><a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>  /**<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>   * For tests, web ui and metrics.<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>   */<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>    return Collections.unmodifiableCollection(regions);<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>  }<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span><a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>  @Override<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>  public void addToOnlineRegions(Region region) {<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    configurationManager.registerObserver(region);<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>  }<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span><a name="line.2505"></a>
+<span class="sourceLineNo">2506</span>  /**<a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   * may NOT return all regions.<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>   */<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>    // we'll sort the regions in reverse<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>        new Comparator&lt;Long&gt;() {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>          @Override<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>          public int compare(Long a, Long b) {<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>            return -1 * a.compareTo(b);<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>          }<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>        });<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>    }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span>    return sortedRegions;<a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  }<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span><a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>  /**<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>   * @return time stamp in millis of when this region server was started<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>   */<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>  public long getStartcode() {<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    return this.startcode;<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>  }<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span><a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>  /** @return reference to FlushRequester */<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span>  @Override<a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>  public FlushRequester getFlushRequester() {<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    return this.cacheFlusher;<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>  }<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span><a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>  /**<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>   * the first N regions being served regardless of load.)<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>   */<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>    for (Region r : onlineRegions.values()) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>      if (!r.isAvailable()) {<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>        continue;<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>      }<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>        regions.add(r.getRegionInfo());<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>      } else {<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>        break;<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>      }<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>    }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>  }<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span><a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>  @Override<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>  public Leases getLeases() {<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>    return leases;<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>  }<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span><a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>  /**<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>   * @return Return the rootDir.<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>   */<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>  protected Path getRootDir() {<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>    return rootDir;<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span>  }<a name="line.2571"></a>
+<span class="sourceLineNo">2572</span><a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>  /**<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * @return Return the fs.<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   */<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>  @Override<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>  public FileSystem getFileSystem() {<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>    return fs;<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>  }<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span><a name="line.2580"></a>
+<span class="sourceLineNo">2581</span>  @Override<a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  public String toString() {<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>    return getServerName().toString();<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span><a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>   * Interval at which threads should run<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span>   *<a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>   * @return the interval<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   */<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>  public int getThreadWakeFrequency() {<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>    return threadWakeFrequency;<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>  }<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span><a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>  @Override<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>    return zooKeeper;<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span><a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  @Override<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>    return csm;<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  }<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span><a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  @Override<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  public ServerName getServerName() {<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>    return serverName;<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span><a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    return this.compactSplitThread;<a name="line.2612"></a>
 <span class="sourceLineNo">2613</span>  }<a name="line.2613"></a>
 <span class="sourceLineNo">2614</span><a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  @Override<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>    return this.regionsInTransitionInRS;<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>  public ExecutorService getExecutorService() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    return service;<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span><a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  @Override<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  public ChoreService getChoreService() {<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>    return choreService;<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span><a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>    return rsQuotaManager;<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span><a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>  //<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>  // Main program and support routines<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  //<a name="line.2637"></a>
+<span class="sourceLineNo">2615</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    return this.rsHost;<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>  }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span><a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  @Override<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return this.regionsInTransitionInRS;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public ExecutorService getExecutorService() {<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return service;<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public ChoreService getChoreService() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    return choreService;<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  @Override<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>    return rsQuotaManager;<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
 <span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  /**<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>   * Load the replication service objects, if any<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>   */<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    // If replication is not enabled, then return immediately.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      return;<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>    // read in the name of the source replication class from the config file.<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2653"></a>
+<span class="sourceLineNo">2639</span>  //<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  // Main program and support routines<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  //<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span><a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  /**<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>   * Load the replication service objects, if any<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>   */<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span><a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    // If replication is not enabled, then return immediately.<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      return;<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    }<a name="line.2653"></a>
 <span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>    // read in the name of the sink replication class from the config file.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
+<span class="sourceLineNo">2655</span>    // read in the name of the source replication class from the config file.<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
 <span class="sourceLineNo">2658</span><a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    // only one object.<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>                                         newReplicationInstance(sourceClassname,<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>                                         server.replicationSourceHandler;<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } else {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>                                         newReplicationInstance(sourceClassname,<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>                                         newReplicationInstance(sinkClassname,<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span><a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    Path oldLogDir) throws IOException{<a name="line.2679"></a>
+<span class="sourceLineNo">2659</span>    // read in the name of the sink replication class from the config file.<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span><a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>    // only one object.<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                                         newReplicationInstance(sourceClassname,<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>                                         server.replicationSourceHandler;<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>    } else {<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                         newReplicationInstance(sourceClassname,<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>                                         newReplicationInstance(sinkClassname,<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
 <span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    Class&lt;?&gt; clazz = null;<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    try {<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>      throw new IOException("Could not find class for " + classname);<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>    }<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span><a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    // create an instance of the replication object.<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    ReplicationService service = (ReplicationService)<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>    return service;<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span><a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  /**<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>   *<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>   * @param regionServerClass<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>   * @param conf2<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>   * @return HRegionServer instance.<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>   */<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  public static HRegionServer constructRegionServer(<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    try {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      return c.newInstance(conf2, cp);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    } catch (Exception e) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>          + regionServerClass.toString(), e);<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>  }<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span><a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  /**<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>   */<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public static void main(String[] args) throws Exception {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>    VersionInfo.logVersion();<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    @SuppressWarnings("unchecked")<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span><a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span><a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  /**<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>   * Gets the online regions of the specified table.<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>   * all the ONLINE regions in the table.<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>   * @param tableName<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>   */<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>  @Override<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>     synchronized (this.onlineRegions) {<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>           tableRegions.add(region);<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>         }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>       }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>     }<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>     return tableRegions;<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>   }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span><a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  @Override<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    synchronized (this.onlineRegions) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      // Return a clone copy of the onlineRegions<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>      allRegions.addAll(onlineRegions.values());<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>    }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>    return allRegions;<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  }<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>  /**<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>   * Gets the online tables in this RS.<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>   * This method looks at the in-memory onlineRegions.<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>   * @return all the online tables in this RS<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>   */<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  @Override<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>  public Set&lt;TableName&gt; getOnlineTables() {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    Set&lt;TableName&gt; tables = new HashSet&lt;TableName&gt;();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    synchronized (this.onlineRegions) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      for (Region region: this.onlineRegions.values()) {<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        tables.add(region.getTableDesc().getTableName());<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>      }<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>    }<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>    return tables;<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  // used by org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (HBASE-4070).<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>  public String[] getRegionServerCoprocessors() {<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    TreeSet&lt;String&gt; coprocessors = new TreeSet&lt;String&gt;();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>    try {<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>      coprocessors.addAll(getWAL(null).getCoprocessorHost().getCoprocessors());<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>    } catch (IOException exception) {<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>      LOG.warn("Exception attempting to fetch wal coprocessor information for the common wal; " +<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>          "skipping.");<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>      LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    }<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    Collection&lt;Region&gt; regions = getOnlineRegionsLocalContext();<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>    for (Region region: regions) {<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>      coprocessors.addAll(region.getCoprocessorHost().getCoprocessors());<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>      try {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>        coprocessors.addAll(getWAL(region.getRegionInfo()).getCoprocessorHost().getCoprocessors());<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>      } catch (IOException exception) {<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>        LOG.warn("Exception attempting to fetch wal coprocessor information for region " + region +<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>            "; skipping.");<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>        LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>      }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    }<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>    return coprocessors.toArray(new String[coprocessors.size()]);<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  }<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span><a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>  /**<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>   * Try to close the region, logs a warning on failure but continues.<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>   * @param region Region to close<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>   */<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>  private void closeRegionIgnoreErrors(HRegionInfo region, final boolean abort) {<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    try {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      if (!closeRegion(region.getEncodedName(), abort, null)) {<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>        LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>            " - ignoring and continuing");<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>      }<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    } catch (IOException e) {<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>      LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>          " - ignoring and continuing", e);<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>    }<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  }<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span><a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  /**<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>   * Close asynchronously a region, can be called from the master or internally by the regionserver<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>   * when stopping. If called from the master, the region will update the znode status.<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>   *<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>   * &lt;p&gt;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>   * If an opening was in progress, this method will cancel it, but will not start a new close. The<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>   * coprocessors are not called in this case. A NotServingRegionException exception is thrown.<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>   * &lt;/p&gt;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span><a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * &lt;p&gt;<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   *   If a close was in progress, this new request will be ignored, and an exception thrown.<a name="line.2828"></a>
+<span class="sourceLineNo">2681</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    Path oldLogDir) throws IOException{<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span><a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>    Class&lt;?&gt; clazz = null;<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    try {<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>      throw new IOException("Could not find class for " + classname);<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>    }<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span><a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    // create an instance of the replication object.<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    ReplicationService service = (ReplicationService)<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    return service;<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span><a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  /**<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>   *<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>   * @param regionServerClass<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>   * @param conf2<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>   * @return HRegionServer instance.<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   */<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  public static HRegionServer constructRegionServer(<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    try {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>      return c.newInstance(conf2, cp);<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    } catch (Exception e) {<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>          + regionServerClass.toString(), e);<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  /**<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>   */<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  public static void main(String[] args) throws Exception {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    VersionInfo.logVersion();<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    @SuppressWarnings("unchecked")<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>  /**<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>   * Gets the online regions of the specified table.<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>   * all the ONLINE regions in the table.<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>   * @param tableName<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>   */<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>  @Override<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>     synchronized (this.onlineRegions) {<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>           tableRegions.add(region);<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>         }<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>       }<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>     }<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>     return tableRegions;<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>   }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span><a name="line.2756"></a>
+<span class="sourceLineNo">2757</span>  @Override<a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>    synchronized (this.onlineRegions) {<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>      // Return a clone copy of the onlineRegions<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>      allRegions.addAll(onlineRegions.values());<a name="line.2762"></a>
+<spa

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
index 4affe24..b707f70 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
@@ -709,6 +709,30 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcGetRequestsCount()">getRpcGetRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc get requests to this region server.</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/MetricsRegionServerWrapperImpl.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc multi requests to this region server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc mutate requests to this region server.</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/MetricsRegionServerWrapperImpl.html#getRpcScanRequestsCount()">getRpcScanRequestsCount</a></strong>()</code>
+<div class="block">Get the number of rpc scan requests to this region server.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#getServerName()">getServerName</a></strong>()</code>
 <div class="block">Get ServerName</div>
@@ -1853,13 +1877,73 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 </dl>
 </li>
 </ul>
+<a name="getRpcGetRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcGetRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.422">getRpcGetRequestsCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcGetRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
+<div class="block">Get the number of rpc get requests to this region server.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcGetRequestsCount()">getRpcGetRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRpcScanRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcScanRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.427">getRpcScanRequestsCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcScanRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
+<div class="block">Get the number of rpc scan requests to this region server.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcScanRequestsCount()">getRpcScanRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRpcMultiRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcMultiRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.432">getRpcMultiRequestsCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMultiRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
+<div class="block">Get the number of rpc multi requests to this region server.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMultiRequestsCount()">getRpcMultiRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRpcMutateRequestsCount()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRpcMutateRequestsCount</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.437">getRpcMutateRequestsCount</a>()</pre>
+<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMutateRequestsCount()">MetricsRegionServerWrapper</a></code></strong></div>
+<div class="block">Get the number of rpc mutate requests to this region server.</div>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getRpcMutateRequestsCount()">getRpcMutateRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getCheckAndMutateChecksFailed()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.422">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.442">getCheckAndMutateChecksFailed</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCheckAndMutateChecksFailed()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of CAS operations that failed.</div>
 <dl>
@@ -1874,7 +1958,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.427">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.447">getCheckAndMutateChecksPassed</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCheckAndMutateChecksPassed()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of CAS operations that passed.</div>
 <dl>
@@ -1889,7 +1973,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileIndexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.432">getStoreFileIndexSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.452">getStoreFileIndexSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getStoreFileIndexSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the Size (in bytes) of indexes in storefiles on disk.</div>
 <dl>
@@ -1904,7 +1988,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticIndexSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.437">getTotalStaticIndexSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.457">getTotalStaticIndexSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalStaticIndexSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size (in bytes) of of the static indexes including the roots.</div>
 <dl>
@@ -1919,7 +2003,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getTotalStaticBloomSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.442">getTotalStaticBloomSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.462">getTotalStaticBloomSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getTotalStaticBloomSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the size (in bytes) of the static bloom filters.</div>
 <dl>
@@ -1934,7 +2018,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumMutationsWithoutWAL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.447">getNumMutationsWithoutWAL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.467">getNumMutationsWithoutWAL</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getNumMutationsWithoutWAL()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Number of mutations received with WAL explicitly turned off.</div>
 <dl>
@@ -1949,7 +2033,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataInMemoryWithoutWAL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.452">getDataInMemoryWithoutWAL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.472">getDataInMemoryWithoutWAL</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getDataInMemoryWithoutWAL()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Ammount of data in the memstore but not in the WAL because mutations explicitly had their
  WAL turned off.</div>
@@ -1965,7 +2049,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getPercentFileLocal</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.457">getPercentFileLocal</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.477">getPercentFileLocal</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getPercentFileLocal()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the percent of HFiles' that are local.</div>
 <dl>
@@ -1980,7 +2064,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getPercentFileLocalSecondaryRegions</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.462">getPercentFileLocalSecondaryRegions</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.482">getPercentFileLocalSecondaryRegions</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getPercentFileLocalSecondaryRegions()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the percent of HFiles' that are local for secondary region replicas.</div>
 <dl>
@@ -1995,7 +2079,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getUpdatesBlockedTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.467">getUpdatesBlockedTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.487">getUpdatesBlockedTime</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getUpdatesBlockedTime()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the amount of time that updates were blocked.</div>
 <dl>
@@ -2010,7 +2094,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.475">getFlushedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.495">getFlushedCellsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushedCellsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of cells flushed to disk.</div>
 <dl>
@@ -2025,7 +2109,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.480">getCompactedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.500">getCompactedCellsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCompactedCellsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of cells processed during minor compactions.</div>
 <dl>
@@ -2040,7 +2124,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.485">getMajorCompactedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.505">getMajorCompactedCellsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMajorCompactedCellsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the number of cells processed during major compactions.</div>
 <dl>
@@ -2055,7 +2139,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getFlushedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.490">getFlushedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.510">getFlushedCellsSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getFlushedCellsSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total amount of data flushed to disk, in bytes.</div>
 <dl>
@@ -2070,7 +2154,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.495">getCompactedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.515">getCompactedCellsSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCompactedCellsSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total amount of data processed during minor compactions, in bytes.</div>
 <dl>
@@ -2085,7 +2169,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMajorCompactedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.500">getMajorCompactedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.520">getMajorCompactedCellsSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMajorCompactedCellsSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Get the total amount of data processed during major compactions, in bytes.</div>
 <dl>
@@ -2100,7 +2184,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsCountCompactedFromMob</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.505">getCellsCountCompactedFromMob</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.525">getCellsCountCompactedFromMob</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCellsCountCompactedFromMob()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of cells moved from mob during compaction.</div>
 <dl>
@@ -2115,7 +2199,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsCountCompactedToMob</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.510">getCellsCountCompactedToMob</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.530">getCellsCountCompactedToMob</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCellsCountCompactedToMob()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of cells moved to mob during compaction.</div>
 <dl>
@@ -2130,7 +2214,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsSizeCompactedFromMob</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.515">getCellsSizeCompactedFromMob</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.535">getCellsSizeCompactedFromMob</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCellsSizeCompactedFromMob()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the total amount of cells moved from mob during compaction, in bytes.</div>
 <dl>
@@ -2145,7 +2229,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsSizeCompactedToMob</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.520">getCellsSizeCompactedToMob</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.540">getCellsSizeCompactedToMob</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getCellsSizeCompactedToMob()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the total amount of cells moved to mob during compaction, in bytes.</div>
 <dl>
@@ -2160,7 +2244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.525">getMobFlushCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.545">getMobFlushCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of the flushes in mob-enabled stores.</div>
 <dl>
@@ -2175,7 +2259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushedCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.530">getMobFlushedCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.550">getMobFlushedCellsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushedCellsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of mob cells flushed to disk.</div>
 <dl>
@@ -2190,7 +2274,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFlushedCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.535">getMobFlushedCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.555">getMobFlushedCellsSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFlushedCellsSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the total amount of mob cells flushed to disk, in bytes.</div>
 <dl>
@@ -2205,7 +2289,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobScanCellsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.540">getMobScanCellsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.560">getMobScanCellsCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobScanCellsCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of scanned mob cells.</div>
 <dl>
@@ -2220,7 +2304,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobScanCellsSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.545">getMobScanCellsSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.565">getMobScanCellsSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobScanCellsSize()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the total amount of scanned mob cells, in bytes.</div>
 <dl>
@@ -2235,7 +2319,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheAccessCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.550">getMobFileCacheAccessCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.570">getMobFileCacheAccessCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheAccessCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the count of accesses to the mob file cache.</div>
 <dl>
@@ -2250,7 +2334,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheMissCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.555">getMobFileCacheMissCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.575">getMobFileCacheMissCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheMissCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the count of misses to the mob file cache.</div>
 <dl>
@@ -2265,7 +2349,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.560">getMobFileCacheCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.580">getMobFileCacheCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the count of cached mob files.</div>
 <dl>
@@ -2280,7 +2364,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheEvictedCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.565">getMobFileCacheEvictedCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.585">getMobFileCacheEvictedCount</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheEvictedCount()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the number of items evicted from the mob file cache.</div>
 <dl>
@@ -2295,7 +2379,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCacheHitPercent</h4>
-<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.570">getMobFileCacheHitPercent</a>()</pre>
+<pre>public&nbsp;double&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.590">getMobFileCacheHitPercent</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getMobFileCacheHitPercent()">MetricsRegionServerWrapper</a></code></strong></div>
 <div class="block">Gets the hit percent to the mob file cache.</div>
 <dl>
@@ -2310,7 +2394,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getHedgedReadOps</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.747">getHedgedReadOps</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.767">getHedgedReadOps</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getHedgedReadOps()">getHedgedReadOps</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2323,7 +2407,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockList">
 <li class="blockList">
 <h4>getHedgedReadWins</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.752">getHedgedReadWins</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.772">getHedgedReadWins</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getHedgedReadWins()">getHedgedReadWins</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>
@@ -2336,7 +2420,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsR
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.757">getBlockedRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html#line.777">getBlockedRequestsCount</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html#getBlockedRequestsCount()">getBlockedRequestsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
index 1fb48cb..36be506 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.254">RSRpcServices.RegionScannerCloseCallBack</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.268">RSRpcServices.RegionScannerCloseCallBack</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An Rpc callback for closing a RegionScanner.</div>
@@ -195,7 +195,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scanner</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.256">scanner</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.270">scanner</a></pre>
 </li>
 </ul>
 </li>
@@ -212,7 +212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices.RegionScannerCloseCallBack</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.258">RSRpcServices.RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.272">RSRpcServices.RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
 </li>
 </ul>
 </li>
@@ -229,7 +229,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.263">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.277">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/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
index 68dc68b..ee73f64 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.320">RSRpcServices.RegionScannerHolder</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.334">RSRpcServices.RegionScannerHolder</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">Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.</div>
 </li>
@@ -215,7 +215,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextCallSeq</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.321">nextCallSeq</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.335">nextCallSeq</a></pre>
 </li>
 </ul>
 <a name="s">
@@ -224,7 +224,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>s</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.322">s</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.336">s</a></pre>
 </li>
 </ul>
 <a name="r">
@@ -233,7 +233,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>r</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.323">r</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.337">r</a></pre>
 </li>
 </ul>
 <a name="closeCallBack">
@@ -242,7 +242,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>closeCallBack</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.324">closeCallBack</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.338">closeCallBack</a></pre>
 </li>
 </ul>
 <a name="shippedCallback">
@@ -251,7 +251,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>shippedCallback</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.325">shippedCallback</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.339">shippedCallback</a></pre>
 </li>
 </ul>
 </li>
@@ -268,7 +268,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices.RegionScannerHolder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.327">RSRpcServices.RegionScannerHolder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.341">RSRpcServices.RegionScannerHolder</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s,
                                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                                  <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;closeCallBack,
                                  <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;shippedCallback)</pre>
@@ -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>getNextCallSeq</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.335">getNextCallSeq</a>()</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.349">getNextCallSeq</a>()</pre>
 </li>
 </ul>
 <a name="incNextCallSeq()">
@@ -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>incNextCallSeq</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.339">incNextCallSeq</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.353">incNextCallSeq</a>()</pre>
 </li>
 </ul>
 <a name="rollbackNextCallSeq()">
@@ -306,7 +306,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rollbackNextCallSeq</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.343">rollbackNextCallSeq</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.357">rollbackNextCallSeq</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
index 63a57a4..67c9404 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.271">RSRpcServices.RegionScannerShippedCallBack</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.285">RSRpcServices.RegionScannerShippedCallBack</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An Rpc callback for doing shipped() call on a RegionScanner.</div>
@@ -205,7 +205,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.273">scannerName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.287">scannerName</a></pre>
 </li>
 </ul>
 <a name="scanner">
@@ -214,7 +214,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>scanner</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.274">scanner</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.288">scanner</a></pre>
 </li>
 </ul>
 <a name="lease">
@@ -223,7 +223,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lease</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.275">lease</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.289">lease</a></pre>
 </li>
 </ul>
 </li>
@@ -240,7 +240,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices.RegionScannerShippedCallBack</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.277">RSRpcServices.RegionScannerShippedCallBack</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;scannerName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.291">RSRpcServices.RegionScannerShippedCallBack</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;scannerName,
                                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner,
                                           <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a>&nbsp;lease)</pre>
 </li>
@@ -259,7 +259,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.284">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.298">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/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
index ba880c6..194796b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.298">RSRpcServices.RegionScannersCloseCallBack</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.312">RSRpcServices.RegionScannersCloseCallBack</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An RpcCallBack that creates a list of scanners that needs to perform callBack operation on
@@ -200,7 +200,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scanners</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.299">scanners</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.313">scanners</a></pre>
 </li>
 </ul>
 </li>
@@ -217,7 +217,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices.RegionScannersCloseCallBack</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.298">RSRpcServices.RegionScannersCloseCallBack</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.312">RSRpcServices.RegionScannersCloseCallBack</a>()</pre>
 </li>
 </ul>
 </li>
@@ -234,7 +234,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addScanner</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.301">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.315">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
 </li>
 </ul>
 <a name="run()">
@@ -243,7 +243,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.306">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.320">run</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>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
index 54e61ea..fd58ee5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.352">RSRpcServices.ScannerListener</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.366">RSRpcServices.ScannerListener</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/LeaseListener.html" title="interface in org.apache.hadoop.hbase.regionserver">LeaseListener</a></pre>
 <div class="block">Instantiated as a scanner lease. If the lease times out, the scanner is
@@ -196,7 +196,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scannerName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.353">scannerName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.367">scannerName</a></pre>
 </li>
 </ul>
 </li>
@@ -213,7 +213,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices.ScannerListener</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.355">RSRpcServices.ScannerListener</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;n)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.369">RSRpcServices.ScannerListener</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;n)</pre>
 </li>
 </ul>
 </li>
@@ -230,7 +230,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>leaseExpired</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.360">leaseExpired</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.374">leaseExpired</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseListener.html#leaseExpired()">LeaseListener</a></code></strong></div>
 <div class="block">When a lease expires, this method is called.</div>
 <dl>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        regio

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html b/testapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
index 19cfbbb..34c5314 100644
--- a/testapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
+++ b/testapidocs/org/apache/hadoop/hbase/HBaseTestingUtility.html
@@ -1803,7 +1803,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.h
 <ul class="blockList">
 <li class="blockList">
 <h4>ROWS</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2199">ROWS</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2202">ROWS</a></pre>
 <div class="block">All the row values for the data loaded by <code>#loadTable(HTable, byte[])</code></div>
 </li>
 </ul>
@@ -1813,7 +1813,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.h
 <ul class="blockList">
 <li class="blockList">
 <h4>KEYS</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2214">KEYS</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2217">KEYS</a></pre>
 </li>
 </ul>
 <a name="KEYS_FOR_HBA_CREATE_TABLE">
@@ -1822,7 +1822,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/HBaseCommonTestingUtility.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>KEYS_FOR_HBA_CREATE_TABLE</h4>
-<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2226">KEYS_FOR_HBA_CREATE_TABLE</a></pre>
+<pre>public static final&nbsp;byte[][] <a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2229">KEYS_FOR_HBA_CREATE_TABLE</a></pre>
 </li>
 </ul>
 </li>
@@ -3264,7 +3264,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>truncateTable</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HTable.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">HTable</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1890">truncateTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HTable.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">HTable</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1893">truncateTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                      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">Truncate a table using the admin command.
  Effectively disables, deletes, and recreates the table.
@@ -3283,7 +3283,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1901">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1904">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
             byte[]&nbsp;f)
               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">Load table with rows from 'aaa' to 'zzz'.</div>
@@ -3299,7 +3299,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1912">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1915">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
             byte[]&nbsp;f,
             boolean&nbsp;writeToWAL)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3316,7 +3316,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1923">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1926">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
             byte[][]&nbsp;f)
               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">Load table of multiple column families with rows from 'aaa' to 'zzz'.</div>
@@ -3332,7 +3332,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1935">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1938">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
             byte[][]&nbsp;f,
             byte[]&nbsp;value)
               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>
@@ -3349,7 +3349,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadTable</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1947">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.1950">loadTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
             byte[][]&nbsp;f,
             byte[]&nbsp;value,
             boolean&nbsp;writeToWAL)
@@ -3367,7 +3367,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2013">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2016">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;r,
              byte[]&nbsp;f)
                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>
@@ -3380,7 +3380,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2017">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2020">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
              byte[]&nbsp;f)
                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>
@@ -3393,7 +3393,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRegion</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2029">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;r,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2032">loadRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;r,
              byte[]&nbsp;f,
              boolean&nbsp;flush)
                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>
@@ -3410,7 +3410,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>loadNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2066">loadNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2069">loadNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
                    byte[]&nbsp;f,
                    int&nbsp;startRow,
                    int&nbsp;endRow)
@@ -3425,7 +3425,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2076">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2079">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -3441,7 +3441,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2095">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2098">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -3456,7 +3456,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2100">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2103">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -3471,7 +3471,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2105">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2108">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/Region.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -3487,7 +3487,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2110">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2113">verifyNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow,
@@ -3503,7 +3503,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteNumericRows</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2130">deleteNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2133">deleteNumericRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;t,
                      byte[]&nbsp;f,
                      int&nbsp;startRow,
                      int&nbsp;endRow)
@@ -3518,7 +3518,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2143">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table)
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2146">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the number of rows in the given table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3531,7 +3531,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2147">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2150">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
             <a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Scan.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3544,7 +3544,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2157">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2160">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table,
             byte[]...&nbsp;families)
               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>
@@ -3557,7 +3557,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>countRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2174">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2177">countRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Return the number of rows in the given table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3570,7 +3570,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>checksumRows</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/HBaseTestingUtility.html#line.2186">checksumRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table)
+<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/HBaseTestingUtility.html#line.2189">checksumRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Table</a>&nbsp;table)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Return an md5 digest of the entire contents of a table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3583,7 +3583,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createMultiRegionsInMeta</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="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2248">createMultiRegionsInMeta</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<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="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2251">createMultiRegionsInMeta</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                          <a href="../../../../../apidocs/org/apache/hadoop/hbase/HTableDescriptor.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
                                          byte[][]&nbsp;startKeys)
                                            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>
@@ -3602,7 +3602,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createWal</h4>
-<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/wal/WAL.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2272">createWal</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/wal/WAL.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2275">createWal</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
             org.apache.hadoop.fs.Path&nbsp;rootDir,
             <a href="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;hri)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -3617,7 +3617,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionAndWAL</h4>
-<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2288">createRegionAndWAL</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2291">createRegionAndWAL</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                          org.apache.hadoop.fs.Path&nbsp;rootDir,
                          org.apache.hadoop.conf.Configuration&nbsp;conf,
                          <a href="../../../../../apidocs/org/apache/hadoop/hbase/HTableDescriptor.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd)
@@ -3634,7 +3634,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionAndWAL</h4>
-<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2297">createRegionAndWAL</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2300">createRegionAndWAL</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/HRegionInfo.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
                          org.apache.hadoop.fs.Path&nbsp;rootDir,
                          org.apache.hadoop.conf.Configuration&nbsp;conf,
                          <a href="../../../../../apidocs/org/apache/hadoop/hbase/HTableDescriptor.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;htd,
@@ -3652,7 +3652,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableRows</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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2309">getMetaTableRows</a>()
+<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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2312">getMetaTableRows</a>()
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns all rows from the hbase:meta table.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3665,7 +3665,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetaTableRows</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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2329">getMetaTableRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface 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;byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2332">getMetaTableRows</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns all rows from the hbase:meta table for a given user table</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3678,7 +3678,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getRSForFirstRegionInTable</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2364">getRSForFirstRegionInTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2367">getRSForFirstRegionInTable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Tool to get the reference to the region server object that holds the
@@ -3699,7 +3699,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>startMiniMapReduceCluster</h4>
-<pre>public&nbsp;org.apache.hadoop.mapred.MiniMRCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2396">startMiniMapReduceCluster</a>()
+<pre>public&nbsp;org.apache.hadoop.mapred.MiniMRCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2399">startMiniMapReduceCluster</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">Starts a <code>MiniMRCluster</code> with a default number of
  <code>TaskTracker</code>'s.</div>
@@ -3713,7 +3713,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdownMiniMapReduceCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2493">shutdownMiniMapReduceCluster</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2496">shutdownMiniMapReduceCluster</a>()</pre>
 <div class="block">Stops the previously started <code>MiniMRCluster</code>.</div>
 </li>
 </ul>
@@ -3723,7 +3723,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2507">createMockRegionServerService</a>()
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2510">createMockRegionServerService</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">Create a stubbed out RegionServerService, mainly for getting FS.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3736,7 +3736,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2515">createMockRegionServerService</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/ipc/RpcServerInterface.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>&nbsp;rpc)
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2518">createMockRegionServerService</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/ipc/RpcServerInterface.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>&nbsp;rpc)
                                                    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">Create a stubbed out RegionServerService, mainly for getting FS.
  This version is used by TestTokenAuthentication</div>
@@ -3750,7 +3750,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>createMockRegionServerService</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2526">createMockRegionServerService</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/ServerName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">ServerName</a>&nbsp;name)
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/RegionServerServices.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2529">createMockRegionServerService</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/ServerName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">ServerName</a>&nbsp;name)
                                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Create a stubbed out RegionServerService, mainly for getting FS.
  This version is used by TestOpenRegionHandler</div>
@@ -3764,7 +3764,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>enableDebug</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2537">enableDebug</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2540">enableDebug</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
 <div class="block">Switches the logger for the given class to DEBUG level.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>clazz</code> - The class for which to switch to debug logging.</dd></dl>
 </li>
@@ -3775,7 +3775,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>expireMasterSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2550">expireMasterSession</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2553">expireMasterSession</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire the Master's session</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -3788,7 +3788,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>expireRegionServerSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2560">expireRegionServerSession</a>(int&nbsp;index)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2563">expireRegionServerSession</a>(int&nbsp;index)
                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire a region server's session</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>index</code> - which RS</dd>
@@ -3802,7 +3802,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>expireSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2586">expireSession</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;nodeZK)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2589">expireSession</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;nodeZK)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -3814,7 +3814,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>expireSession</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2601">expireSession</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;nodeZK,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2604">expireSession</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;nodeZK,
                  boolean&nbsp;checkStatus)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Expire a ZooKeeper session as recommended in ZooKeeper documentation
@@ -3834,7 +3834,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getHBaseCluster</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2652">getHBaseCluster</a>()</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2655">getHBaseCluster</a>()</pre>
 <div class="block">Get the Mini HBase cluster.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>hbase cluster</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html#getHBaseClusterInterface()"><code>getHBaseClusterInterface()</code></a></dd></dl>
 </li>
@@ -3845,7 +3845,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getHBaseClusterInterface</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/HBaseCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2664">getHBaseClusterInterface</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/HBaseCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">HBaseCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2667">getHBaseClusterInterface</a>()</pre>
 <div class="block">Returns the HBaseCluster instance.
  <p>Returned object can be any of the subclasses of HBaseCluster, and the
  tests referring this should not assume that the cluster is a mini cluster or a
@@ -3860,7 +3860,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Connection.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2676">getConnection</a>()
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Connection.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2679">getConnection</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a Connection to the cluster.
  Not thread-safe (This class needs a lot of work to make it thread-safe).</div>
@@ -3876,7 +3876,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver
 <li class="blockList">
 <h4>getHBaseAdmin</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="../../../../../apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">HBaseAdmin</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2694">getHBaseAdmin</a>()
+public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBaseAdmin.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">HBaseAdmin</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2697">getHBaseAdmin</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"><span class="strong">Deprecated.</span>&nbsp;<i>Since 2.0. Will be removed in 3.0. Use <a href="../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html#getAdmin()"><code>getAdmin()</code></a> instead.</i></div>
 <div class="block">Returns a Admin instance.
@@ -3895,7 +3895,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getAdmin</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Admin.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2706">getAdmin</a>()
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Admin.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Admin</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2709">getAdmin</a>()
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns an Admin instance which is shared between HBaseTestingUtility instance users.
  Closing it has no effect, it will be closed automatically when the cluster shutdowns</div>
@@ -3909,7 +3909,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getZooKeeperWatcher</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2724">getZooKeeperWatcher</a>()
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">ZooKeeperWatcher</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2727">getZooKeeperWatcher</a>()
                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Returns a ZooKeeperWatcher instance.
  This instance is shared between HBaseTestingUtility instance users.
@@ -3926,7 +3926,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2747">closeRegion</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;regionName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2750">closeRegion</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;regionName)
                  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 named region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - The region to close.</dd>
@@ -3940,7 +3940,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2757">closeRegion</a>(byte[]&nbsp;regionName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2760">closeRegion</a>(byte[]&nbsp;regionName)
                  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 named region.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionName</code> - The region to close.</dd>
@@ -3954,7 +3954,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionByRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2768">closeRegionByRow</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;row,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2771">closeRegionByRow</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;row,
                     <a href="../../../../../apidocs/org/apache/hadoop/hbase/client/RegionLocator.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes the region containing the given row.</div>
@@ -3969,7 +3969,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionByRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2779">closeRegionByRow</a>(byte[]&nbsp;row,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2782">closeRegionByRow</a>(byte[]&nbsp;row,
                     <a href="../../../../../apidocs/org/apache/hadoop/hbase/client/RegionLocator.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">RegionLocator</a>&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Closes the region containing the given row.</div>
@@ -3984,7 +3984,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplittableRegion</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2791">getSplittableRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HRegion.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2794">getSplittableRegion</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                           int&nbsp;maxAttempts)</pre>
 </li>
 </ul>
@@ -3994,7 +3994,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getZkCluster</h4>
-<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">MiniZooKeeperCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2824">getZkCluster</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">MiniZooKeeperCluster</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2827">getZkCluster</a>()</pre>
 </li>
 </ul>
 <a name="setZkCluster(org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster)">
@@ -4003,7 +4003,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>setZkCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2828">setZkCluster</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">MiniZooKeeperCluster</a>&nbsp;zkCluster)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2831">setZkCluster</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.zookeeper">MiniZooKeeperCluster</a>&nbsp;zkCluster)</pre>
 </li>
 </ul>
 <a name="getDFSCluster()">
@@ -4012,7 +4012,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getDFSCluster</h4>
-<pre>public&nbsp;org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2834">getDFSCluster</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2837">getDFSCluster</a>()</pre>
 </li>
 </ul>
 <a name="setDFSCluster(org.apache.hadoop.hdfs.MiniDFSCluster)">
@@ -4021,7 +4021,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>setDFSCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2838">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2841">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                           <a href="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>
@@ -4035,7 +4035,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>setDFSCluster</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2850">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2853">setDFSCluster</a>(org.apache.hadoop.hdfs.MiniDFSCluster&nbsp;cluster,
                  boolean&nbsp;requireDown)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a>,
                           <a href="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>
@@ -4053,7 +4053,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>getTestFileSystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2859">getTestFileSystem</a>()
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2862">getTestFileSystem</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>
@@ -4065,7 +4065,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2870">waitTableAvailable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2873">waitTableAvailable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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 until all regions in a table have been assigned.  Waits default timeout before giving up
@@ -4082,7 +4082,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2875">waitTableAvailable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2878">waitTableAvailable</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                       long&nbsp;timeoutMillis)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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>
@@ -4097,7 +4097,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableAvailable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2887">waitTableAvailable</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2890">waitTableAvailable</a>(byte[]&nbsp;table,
                       long&nbsp;timeoutMillis)
                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                                <a href="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>
@@ -4114,7 +4114,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>explainTableAvailability</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/HBaseTestingUtility.html#line.2892">explainTableAvailability</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<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/HBaseTestingUtility.html#line.2895">explainTableAvailability</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                 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>
@@ -4126,7 +4126,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <ul class="blockList">
 <li class="blockList">
 <h4>explainTableState</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/HBaseTestingUtility.html#line.2920">explainTableState</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<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/HBaseTestingUtility.html#line.2923">explainTableState</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                        <a href="../../../../../apidocs/org/apache/hadoop/hbase/client/TableState.State.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">TableState.State</a>&nbsp;state)
                          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>
@@ -4140,7 +4140,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/HBase
 <li class="blockList">
 <h4>findLastTableState</h4>
 <pre><a href="http://docs.oracle.com/javase/7/docs/api/javax/annotation/Nullable.html?is-external=true" title="class or interface in javax.annotation">@Nullable</a>
-public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/TableState.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">TableState</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2934">findLastTableState</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/TableState.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">TableState</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2937">findLastTableState</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                               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>
@@ -4152,7 +4152,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2963">waitTableEnabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2966">waitTableEnabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                              <a href="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">Waits for a table to be 'enabled'.  Enabled means that table is set as 'enabled' and the
@@ -4170,7 +4170,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2977">waitTableEnabled</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2980">waitTableEnabled</a>(byte[]&nbsp;table,
                     long&nbsp;timeoutMillis)
                       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                              <a href="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>
@@ -4188,7 +4188,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2982">waitTableEnabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2985">waitTableEnabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                     long&nbsp;timeoutMillis)
                       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>
@@ -4201,7 +4201,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2994">waitTableDisabled</a>(byte[]&nbsp;table)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2997">waitTableDisabled</a>(byte[]&nbsp;table)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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">Waits for a table to be 'disabled'.  Disabled means that table is set as 'disabled'
@@ -4218,7 +4218,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.2999">waitTableDisabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3002">waitTableDisabled</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                      long&nbsp;millisTimeout)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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>
@@ -4233,7 +4233,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitTableDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3011">waitTableDisabled</a>(byte[]&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3014">waitTableDisabled</a>(byte[]&nbsp;table,
                      long&nbsp;timeoutMillis)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
                               <a href="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>
@@ -4250,7 +4250,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>ensureSomeRegionServersAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3023">ensureSomeRegionServersAvailable</a>(int&nbsp;num)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3026">ensureSomeRegionServersAvailable</a>(int&nbsp;num)
                                          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">Make sure that at least the specified number of region servers
  are running</div>
@@ -4266,7 +4266,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>ensureSomeNonStoppedRegionServersAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3044">ensureSomeNonStoppedRegionServersAvailable</a>(int&nbsp;num)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3047">ensureSomeNonStoppedRegionServersAvailable</a>(int&nbsp;num)
                                                    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">Make sure that at least the specified number of region servers
  are running. We don't count the ones that are currently stopping or are
@@ -4283,7 +4283,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getDifferentUser</h4>
-<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/security/User.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3076">getDifferentUser</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
+<pre>public static&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/security/User.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3079">getDifferentUser</a>(org.apache.hadoop.conf.Configuration&nbsp;c,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;differentiatingSuffix)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This method clones the passed <code>c</code> configuration setting a new
@@ -4301,7 +4301,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getAllOnlineRegions</h4>
-<pre>public static&nbsp;<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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3092">getAllOnlineRegions</a>(<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;cluster)
+<pre>public static&nbsp;<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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3095">getAllOnlineRegions</a>(<a href="../../../../org/apache/hadoop/hbase/MiniHBaseCluster.html" title="class in org.apache.hadoop.hbase">MiniHBaseCluster</a>&nbsp;cluster)
                                                 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>
@@ -4313,7 +4313,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>setMaxRecoveryErrorCount</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3133">setMaxRecoveryErrorCount</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3136">setMaxRecoveryErrorCount</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;stream,
                             int&nbsp;max)</pre>
 <div class="block">Set maxRecoveryErrorCount in DFSClient.  In 0.20 pre-append its hard-coded to 5 and
  makes tests linger.  Here is the exception you'll see:
@@ -4334,7 +4334,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitUntilAllRegionsAssigned</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3162">waitUntilAllRegionsAssigned</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3165">waitUntilAllRegionsAssigned</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
                                  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 until all regions for a table in hbase:meta have a non-empty
  info:server, up to 60 seconds. This means all regions have been deployed,
@@ -4351,7 +4351,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>waitUntilAllRegionsAssigned</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3175">waitUntilAllRegionsAssigned</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3178">waitUntilAllRegionsAssigned</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/TableName.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                long&nbsp;timeout)
                                  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 until all regions for a table in hbase:meta have a non-empty
@@ -4369,7 +4369,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromStoreFile</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../apidocs/org/apache/hadoop/hbase/Cell.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3236">getFromStoreFile</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HStore.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../apidocs/org/apache/hadoop/hbase/Cell.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3239">getFromStoreFile</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HStore.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                           <a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Get.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do a small get/scan against one store. This is required because store
@@ -4384,7 +4384,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionSplitStartKeys</h4>
-<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3266">getRegionSplitStartKeys</a>(byte[]&nbsp;startKey,
+<pre>public&nbsp;byte[][]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3269">getRegionSplitStartKeys</a>(byte[]&nbsp;startKey,
                                byte[]&nbsp;endKey,
                                int&nbsp;numRegions)</pre>
 <div class="block">Create region split keys between startkey and endKey</div>
@@ -4398,7 +4398,7 @@ public&nbsp;<a href="../../../../../apidocs/org/apache/hadoop/hbase/client/Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getFromStoreFile</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../apidocs/org/apache/hadoop/hbase/Cell.html?is-external=true" title="class or interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html#line.3279">getFromStoreFile</a>(<a href="../../../../../apidocs/org/apache/hadoop/hbase/regionserver/HStore.html?is-external=true" title="class or interface in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../apidocs/org/apache/hadoop/hbase/Cell.html?is-external=true" title="class or interface in org.apac

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
index 78592dc..cc85be0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3058">HRegionServer.MovedRegionInfo</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3062">HRegionServer.MovedRegionInfo</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>
@@ -204,7 +204,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverName</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/regionserver/HRegionServer.MovedRegionInfo.html#line.3059">serverName</a></pre>
+<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/regionserver/HRegionServer.MovedRegionInfo.html#line.3063">serverName</a></pre>
 </li>
 </ul>
 <a name="seqNum">
@@ -213,7 +213,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>seqNum</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3060">seqNum</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3064">seqNum</a></pre>
 </li>
 </ul>
 <a name="ts">
@@ -222,7 +222,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ts</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3061">ts</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3065">ts</a></pre>
 </li>
 </ul>
 </li>
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer.MovedRegionInfo</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3063">HRegionServer.MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3067">HRegionServer.MovedRegionInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;serverName,
                              long&nbsp;closeSeqNum)</pre>
 </li>
 </ul>
@@ -257,7 +257,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerName</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/regionserver/HRegionServer.MovedRegionInfo.html#line.3069">getServerName</a>()</pre>
+<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/regionserver/HRegionServer.MovedRegionInfo.html#line.3073">getServerName</a>()</pre>
 </li>
 </ul>
 <a name="getSeqNum()">
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3073">getSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3077">getSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="getMoveTime()">
@@ -275,7 +275,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getMoveTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3077">getMoveTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionInfo.html#line.3081">getMoveTime</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
index c573472..c8f9aec 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3147">HRegionServer.MovedRegionsCleaner</a>
+<pre>protected static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html#line.3151">HRegionServer.MovedRegionsCleaner</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html" title="class in org.apache.hadoop.hbase">ScheduledChore</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></pre>
 <div class="block">Creates a Chore thread to clean the moved region cache.</div>
@@ -228,7 +228,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<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/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3148">regionServer</a></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/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3152">regionServer</a></pre>
 </li>
 </ul>
 <a name="stoppable">
@@ -237,7 +237,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>stoppable</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3149">stoppable</a></pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3153">stoppable</a></pre>
 </li>
 </ul>
 </li>
@@ -254,7 +254,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HRegionServer.MovedRegionsCleaner</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3151">HRegionServer.MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3155">HRegionServer.MovedRegionsCleaner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;regionServer,
                                  <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a>&nbsp;stoppable)</pre>
 </li>
 </ul>
@@ -272,7 +272,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3159">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer.MovedRegionsCleaner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3163">create</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)</pre>
 </li>
 </ul>
 <a name="chore()">
@@ -281,7 +281,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>chore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3170">chore</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3174">chore</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ScheduledChore.html#chore()">ScheduledChore</a></code></strong></div>
 <div class="block">The task to execute on each scheduled execution of the Chore</div>
 <dl>
@@ -296,7 +296,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3175">stop</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;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3179">stop</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;why)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#stop(java.lang.String)">Stoppable</a></code></strong></div>
 <div class="block">Stop this service.</div>
 <dl>
@@ -311,7 +311,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3180">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.MovedRegionsCleaner.html#line.3184">isStopped</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped()">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>   

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 7a05354..b2efc87 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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" />
@@ -6124,12 +6124,12 @@
 <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>760</td>
+<td>759</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3422</td>
+<td>3423</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -14553,7 +14553,7 @@
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
-<td>JavadocTagContinuationIndentation</td>
+<td>NonEmptyAtclauseDescription</td>
 <td>Javadoc comment at column 64 has parse error. Missed HTML close tag 'code'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td><a href="./xref/org/apache/hadoop/hbase/client/HBaseAdmin.html#L1767">1767</a></td></tr>
 <tr class="a">
@@ -51635,925 +51635,925 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L623">623</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L621">621</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/protobuf/ProtobufUtil.html#L636">636</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L634">634</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/protobuf/ProtobufUtil.html#L704">704</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L700">700</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/protobuf/ProtobufUtil.html#L707">707</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L703">703</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/protobuf/ProtobufUtil.html#L765">765</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L761">761</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/protobuf/ProtobufUtil.html#L786">786</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L782">782</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/protobuf/ProtobufUtil.html#L847">847</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L843">843</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'family' have incorrect indentation level 10, expected level should be 13.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L908">908</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L904">904</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/protobuf/ProtobufUtil.html#L943">943</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L939">939</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/protobuf/ProtobufUtil.html#L1030">1030</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1026">1026</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/protobuf/ProtobufUtil.html#L1099">1099</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1095">1095</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/protobuf/ProtobufUtil.html#L1160">1160</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1156">1156</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/protobuf/ProtobufUtil.html#L1161">1161</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1157">1157</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/protobuf/ProtobufUtil.html#L1163">1163</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1159">1159</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/protobuf/ProtobufUtil.html#L1213">1213</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1209">1209</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/protobuf/ProtobufUtil.html#L1214">1214</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1210">1210</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/protobuf/ProtobufUtil.html#L1215">1215</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1211">1211</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/protobuf/ProtobufUtil.html#L1217">1217</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1213">1213</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/protobuf/ProtobufUtil.html#L1227">1227</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1223">1223</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/protobuf/ProtobufUtil.html#L1228">1228</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1224">1224</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/protobuf/ProtobufUtil.html#L1230">1230</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1226">1226</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/protobuf/ProtobufUtil.html#L1251">1251</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1247">1247</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/protobuf/ProtobufUtil.html#L1252">1252</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1248">1248</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/protobuf/ProtobufUtil.html#L1322">1322</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1318">1318</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1324">1324</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1320">1320</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/protobuf/ProtobufUtil.html#L1363">1363</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1359">1359</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1386">1386</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1382">1382</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/protobuf/ProtobufUtil.html#L1392">1392</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1388">1388</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/protobuf/ProtobufUtil.html#L1484">1484</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1480">1480</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/protobuf/ProtobufUtil.html#L1486">1486</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1482">1482</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1491">1491</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1487">1487</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1492">1492</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1488">1488</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1493">1493</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1489">1489</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1494">1494</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1490">1490</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1495">1495</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1491">1491</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1496">1496</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1492">1492</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1497">1497</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1493">1493</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1498">1498</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1494">1494</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1499">1499</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1495">1495</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/protobuf/ProtobufUtil.html#L1509">1509</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1505">1505</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1514">1514</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1510">1510</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1515">1515</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1511">1511</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1516">1516</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1512">1512</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1517">1517</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1513">1513</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1518">1518</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1514">1514</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1519">1519</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1515">1515</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1520">1520</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1516">1516</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1521">1521</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1517">1517</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 4, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1522">1522</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1518">1518</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1523">1523</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1519">1519</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1536">1536</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1532">1532</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/protobuf/ProtobufUtil.html#L1561">1561</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1557">1557</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/protobuf/ProtobufUtil.html#L1562">1562</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1558">1558</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/protobuf/ProtobufUtil.html#L1563">1563</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1559">1559</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/protobuf/ProtobufUtil.html#L1564">1564</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1560">1560</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/protobuf/ProtobufUtil.html#L1566">1566</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1562">1562</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/protobuf/ProtobufUtil.html#L1613">1613</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1609">1609</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/protobuf/ProtobufUtil.html#L1614">1614</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1610">1610</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/protobuf/ProtobufUtil.html#L1616">1616</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1612">1612</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/protobuf/ProtobufUtil.html#L1650">1650</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1646">1646</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/protobuf/ProtobufUtil.html#L1651">1651</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1647">1647</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/protobuf/ProtobufUtil.html#L1653">1653</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1649">1649</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/protobuf/ProtobufUtil.html#L1672">1672</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1668">1668</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/protobuf/ProtobufUtil.html#L1673">1673</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1669">1669</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/protobuf/ProtobufUtil.html#L1674">1674</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1670">1670</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/protobuf/ProtobufUtil.html#L1691">1691</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1687">1687</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/protobuf/ProtobufUtil.html#L1692">1692</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1688">1688</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/protobuf/ProtobufUtil.html#L1694">1694</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1690">1690</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/protobuf/ProtobufUtil.html#L1714">1714</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1710">1710</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/protobuf/ProtobufUtil.html#L1733">1733</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1729">1729</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/protobuf/ProtobufUtil.html#L1734">1734</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1730">1730</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/protobuf/ProtobufUtil.html#L1735">1735</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1731">1731</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/protobuf/ProtobufUtil.html#L1753">1753</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1749">1749</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/protobuf/ProtobufUtil.html#L1755">1755</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1751">1751</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1776">1776</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1772">1772</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/protobuf/ProtobufUtil.html#L1787">1787</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1783">1783</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/protobuf/ProtobufUtil.html#L1789">1789</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1785">1785</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/protobuf/ProtobufUtil.html#L1806">1806</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1802">1802</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/protobuf/ProtobufUtil.html#L1807">1807</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1803">1803</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/protobuf/ProtobufUtil.html#L1808">1808</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1804">1804</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/protobuf/ProtobufUtil.html#L1810">1810</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1806">1806</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/protobuf/ProtobufUtil.html#L1828">1828</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1824">1824</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/protobuf/ProtobufUtil.html#L1829">1829</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1825">1825</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/protobuf/ProtobufUtil.html#L1830">1830</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1826">1826</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/protobuf/ProtobufUtil.html#L1831">1831</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1827">1827</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/protobuf/ProtobufUtil.html#L1847">1847</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1843">1843</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/protobuf/ProtobufUtil.html#L1848">1848</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1844">1844</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/protobuf/ProtobufUtil.html#L1849">1849</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1845">1845</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/protobuf/ProtobufUtil.html#L1853">1853</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1849">1849</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/protobuf/ProtobufUtil.html#L1963">1963</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1959">1959</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1964">1964</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L1960">1960</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2008">2008</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2004">2004</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>misc</td>
 <td>ArrayTypeStyle</td>
 <td>Array brackets at illegal position.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2023">2023</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2019">2019</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2056">2056</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2052">2052</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2079">2079</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2075">2075</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/protobuf/ProtobufUtil.html#L2149">2149</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2145">2145</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/protobuf/ProtobufUtil.html#L2176">2176</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2172">2172</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/protobuf/ProtobufUtil.html#L2200">2200</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2196">2196</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/protobuf/ProtobufUtil.html#L2224">2224</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2220">2220</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/protobuf/ProtobufUtil.html#L2251">2251</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2247">2247</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/protobuf/ProtobufUtil.html#L2276">2276</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2272">2272</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/protobuf/ProtobufUtil.html#L2298">2298</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2294">2294</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/protobuf/ProtobufUtil.html#L2322">2322</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2318">2318</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/protobuf/ProtobufUtil.html#L2350">2350</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2346">2346</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/protobuf/ProtobufUtil.html#L2554">2554</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2550">2550</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'T' have incorrect indentation level 2, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2558">2558</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2554">2554</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/protobuf/ProtobufUtil.html#L2661">2661</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2657">2657</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/protobuf/ProtobufUtil.html#L2665">2665</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2661">2661</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/protobuf/ProtobufUtil.html#L2741">2741</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2737">2737</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/protobuf/ProtobufUtil.html#L2745">2745</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2741">2741</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/protobuf/ProtobufUtil.html#L2752">2752</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2748">2748</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/protobuf/ProtobufUtil.html#L2754">2754</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2750">2750</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2757">2757</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2753">2753</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/protobuf/ProtobufUtil.html#L2772">2772</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2768">2768</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/protobuf/ProtobufUtil.html#L2784">2784</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2780">2780</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/protobuf/ProtobufUtil.html#L2788">2788</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2784">2784</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/protobuf/ProtobufUtil.html#L2795">2795</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2791">2791</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/protobuf/ProtobufUtil.html#L2797">2797</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2793">2793</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2800">2800</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2796">2796</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/protobuf/ProtobufUtil.html#L2815">2815</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2811">2811</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/protobuf/ProtobufUtil.html#L2868">2868</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2864">2864</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2872">2872</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2868">2868</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/protobuf/ProtobufUtil.html#L2887">2887</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2883">2883</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2891">2891</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2887">2887</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/protobuf/ProtobufUtil.html#L2906">2906</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2902">2902</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2910">2910</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2906">2906</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/protobuf/ProtobufUtil.html#L2924">2924</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2920">2920</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2928">2928</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2924">2924</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/protobuf/ProtobufUtil.html#L2942">2942</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2938">2938</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2946">2946</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2942">2942</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/protobuf/ProtobufUtil.html#L2956">2956</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2952">2952</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2960">2960</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2956">2956</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/protobuf/ProtobufUtil.html#L2970">2970</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2966">2966</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2974">2974</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2970">2970</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/protobuf/ProtobufUtil.html#L2983">2983</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2979">2979</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2987">2987</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L2983">2983</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/protobuf/ProtobufUtil.html#L3045">3045</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3041">3041</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/protobuf/ProtobufUtil.html#L3068">3068</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3064">3064</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/protobuf/ProtobufUtil.html#L3083">3083</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3079">3079</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/protobuf/ProtobufUtil.html#L3098">3098</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3094">3094</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/protobuf/ProtobufUtil.html#L3112">3112</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3108">3108</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/protobuf/ProtobufUtil.html#L3126">3126</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3122">3122</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/protobuf/ProtobufUtil.html#L3127">3127</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3123">3123</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/protobuf/ProtobufUtil.html#L3128">3128</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3124">3124</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def type' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3221">3221</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3217">3217</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3221">3221</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3217">3217</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'member def type' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3222">3222</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3218">3218</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3222">3222</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3218">3218</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3223">3223</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3219">3219</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 8, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3224">3224</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3220">3220</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3225">3225</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3221">3221</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3226">3226</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3222">3222</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 8, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3227">3227</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3223">3223</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 6, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3228">3228</a></td></tr></table></div>
+<td><a href="./xref/org/apache/hadoop/hbase/protobuf/ProtobufUtil.html#L3224">3224</a></td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java</h3>
 <table border="0" class="table table-striped">
@@ -56152,1346 +56152,1346 @@
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
-<td>Method length is 393 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2983">2983</a></td></tr>
+<td>Method length is 391 lines (max allowed is 150).</td>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L2979">2979</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3113">3113</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3109">3109</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/regionserver/HRegion.html#L3122">3122</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3118">3118</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3147">3147</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3140">3140</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3219">3219</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3212">3212</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3330">3330</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3323">3323</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/regionserver/HRegion.html#L3402">3402</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3395">3395</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3451">3451</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3444">3444</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3452">3452</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3445">3445</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3453">3453</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3446">3446</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3454">3454</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3447">3447</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3455">3455</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3448">3448</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3456">3456</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3449">3449</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3457">3457</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3450">3450</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3458">3458</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3451">3451</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3459">3459</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3452">3452</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3460">3460</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3453">3453</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3461">3461</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3454">3454</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3462">3462</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3455">3455</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3463">3463</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3456">3456</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3464">3464</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3457">3457</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3465">3465</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3458">3458</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3466">3466</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3459">3459</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3467">3467</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3460">3460</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3468">3468</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3461">3461</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3469">3469</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3462">3462</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3470">3470</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3463">3463</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3547">3547</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3540">3540</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3548">3548</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3541">3541</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3549">3549</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3542">3542</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3550">3550</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3543">3543</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3551">3551</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3544">3544</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3552">3552</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3545">3545</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3553">3553</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3546">3546</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3554">3554</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3547">3547</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3555">3555</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3548">3548</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3556">3556</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3549">3549</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3557">3557</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3550">3550</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3558">3558</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3551">3551</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3559">3559</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3552">3552</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3560">3560</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3553">3553</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3561">3561</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3554">3554</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3562">3562</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3555">3555</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3563">3563</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3556">3556</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3564">3564</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3557">3557</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 10, expected level should be 12.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3565">3565</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3558">3558</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 12, expected level should be 14.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3566">3566</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3559">3559</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3637">3637</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3630">3630</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/regionserver/HRegion.html#L3658">3658</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3651">3651</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3721">3721</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3714">3714</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 3, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3753">3753</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3746">3746</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 5, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3754">3754</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3747">3747</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 5, expected level should be 6.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3754">3754</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3747">3747</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/regionserver/HRegion.html#L3763">3763</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3756">3756</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3786">3786</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3779">3779</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3807">3807</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3800">3800</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 3, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3808">3808</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3801">3801</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3951">3951</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3944">3944</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3953">3953</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3946">3946</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/regionserver/HRegion.html#L3954">3954</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3947">3947</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/regionserver/HRegion.html#L3975">3975</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3968">3968</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3982">3982</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L3975">3975</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 185 lines (max allowed is 150).</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4064">4064</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4057">4057</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 9, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4247">4247</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4240">4240</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4335">4335</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4328">4328</a></td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4336">4336</a></td></tr>
+<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4329">4329</a></td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 8, expected level should be 10.</td>
-<td><a href="./xref/org/apache/hadoop/hbase/regionserver/HRegion.html#L4336">4336</a></td></tr>
+<td><a href="./xref/org/a

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
index 2e1fbaa..f5acdad 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
@@ -104,7 +104,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/RSRpcServices.html#line.199">RSRpcServices</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.200">RSRpcServices</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>, org.apache.hadoop.hbase.protobuf.generated.AdminProtos.AdminService.BlockingInterface, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService.BlockingInterface, <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
 <div class="block">Implements the regionserver RPC services.</div>
@@ -221,6 +221,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#requestCount">requestCount</a></strong></code>&nbsp;</td>
 </tr>
 <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/RSRpcServices.html#rpcGetRequestCount">rpcGetRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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/RSRpcServices.html#rpcMultiRequestCount">rpcMultiRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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/RSRpcServices.html#rpcMutateRequestCount">rpcMutateRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<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/RSRpcServices.html#rpcScanRequestCount">rpcScanRequestCount</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcServer">rpcServer</a></strong></code>&nbsp;</td>
 </tr>
@@ -633,6 +649,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 </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/RSRpcServices.html#skipCellsForMutation(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutation</a></strong>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&nbsp;action,
+                                        <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</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/RSRpcServices.html#skipCellsForMutations(java.util.List,%20org.apache.hadoop.hbase.CellScanner)">skipCellsForMutations</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.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
+                                          <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionResponse</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#splitRegion(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionRequest)">splitRegion</a></strong>(com.google.protobuf.RpcController&nbsp;controller,
                       org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionRequest&nbsp;request)</code>
@@ -706,7 +732,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.202">LOG</a></pre>
+<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.203">LOG</a></pre>
 </li>
 </ul>
 <a name="REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS">
@@ -715,7 +741,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.205">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.206">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
 <div class="block">RPC scheduler to use for the region server.</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.RSRpcServices.REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS">Constant Field Values</a></dd></dl>
 </li>
@@ -726,7 +752,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.213">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.214">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
 <div class="block">Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This
  configuration exists to prevent the scenario where a time limit is specified to be so
  restrictive that the time limit is reached immediately (before any cells are scanned).</div>
@@ -739,7 +765,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.218">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.219">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
 <div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA"><code>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</code></a></div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.RSRpcServices.DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA">Constant Field Values</a></dd></dl>
 </li>
@@ -750,7 +776,43 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCount</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.221">requestCount</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.222">requestCount</a></pre>
+</li>
+</ul>
+<a name="rpcGetRequestCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rpcGetRequestCount</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.225">rpcGetRequestCount</a></pre>
+</li>
+</ul>
+<a name="rpcScanRequestCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rpcScanRequestCount</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.228">rpcScanRequestCount</a></pre>
+</li>
+</ul>
+<a name="rpcMultiRequestCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rpcMultiRequestCount</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.231">rpcMultiRequestCount</a></pre>
+</li>
+</ul>
+<a name="rpcMutateRequestCount">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rpcMutateRequestCount</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.234">rpcMutateRequestCount</a></pre>
 </li>
 </ul>
 <a name="rpcServer">
@@ -759,7 +821,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcServer</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.223">rpcServer</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.237">rpcServer</a></pre>
 </li>
 </ul>
 <a name="isa">
@@ -768,7 +830,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>isa</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.224">isa</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.238">isa</a></pre>
 </li>
 </ul>
 <a name="regionServer">
@@ -777,7 +839,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.226">regionServer</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.240">regionServer</a></pre>
 </li>
 </ul>
 <a name="maxScannerResultSize">
@@ -786,7 +848,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>maxScannerResultSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.227">maxScannerResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.241">maxScannerResultSize</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -795,7 +857,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.230">priority</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.244">priority</a></pre>
 </li>
 </ul>
 <a name="scannerIdGen">
@@ -804,7 +866,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerIdGen</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.232">scannerIdGen</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.246">scannerIdGen</a></pre>
 </li>
 </ul>
 <a name="scanners">
@@ -813,7 +875,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scanners</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.233">scanners</a></pre>
+<pre>private final&nbsp;<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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.247">scanners</a></pre>
 </li>
 </ul>
 <a name="scannerLeaseTimeoutPeriod">
@@ -822,7 +884,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerLeaseTimeoutPeriod</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.239">scannerLeaseTimeoutPeriod</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.253">scannerLeaseTimeoutPeriod</a></pre>
 <div class="block">The lease timeout period for client scanners (milliseconds).</div>
 </li>
 </ul>
@@ -832,7 +894,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.244">rpcTimeout</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.258">rpcTimeout</a></pre>
 <div class="block">The RPC timeout period (milliseconds)</div>
 </li>
 </ul>
@@ -842,7 +904,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockListLast">
 <li class="blockList">
 <h4>minimumScanTimeLimitDelta</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.249">minimumScanTimeLimitDelta</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.263">minimumScanTimeLimitDelta</a></pre>
 <div class="block">The minimum allowable delta to use for the scan limit</div>
 </li>
 </ul>
@@ -860,7 +922,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.963">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.980">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)
               throws <a href="http://docs.oracle.com/javase/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>
@@ -880,7 +942,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.386">getResultOrException</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Result&nbsp;r,
+<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.400">getResultOrException</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Result&nbsp;r,
                                                                                              int&nbsp;index,
                                                                                              org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats&nbsp;stats)</pre>
 </li>
@@ -891,7 +953,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.391">getResultOrException</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e,
+<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.405">getResultOrException</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;e,
                                                                                              int&nbsp;index)</pre>
 </li>
 </ul>
@@ -901,7 +963,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.395">getResultOrException</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException.Builder&nbsp;builder,
+<pre>private static&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.409">getResultOrException</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException.Builder&nbsp;builder,
                                                                                              int&nbsp;index)</pre>
 </li>
 </ul>
@@ -911,7 +973,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>startNonceOperation</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.406">startNonceOperation</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.420">startNonceOperation</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                        long&nbsp;nonceGroup)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                                  <a href="../../../../../org/apache/hadoop/hbase/exceptions/OperationConflictException.html" title="class in org.apache.hadoop.hbase.exceptions">OperationConflictException</a></pre>
@@ -928,7 +990,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>endNonceOperation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.432">endNonceOperation</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.446">endNonceOperation</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                      long&nbsp;nonceGroup,
                      boolean&nbsp;success)</pre>
 <div class="block">Ends nonce operation for a mutation, if needed.</div>
@@ -941,7 +1003,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>isClientCellBlockSupport</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.442">isClientCellBlockSupport</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.456">isClientCellBlockSupport</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>True if current call supports cellblocks</dd></dl>
 </li>
 </ul>
@@ -951,7 +1013,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>isClientCellBlockSupport</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.447">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.461">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context)</pre>
 </li>
 </ul>
 <a name="addResult(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse.Builder, org.apache.hadoop.hbase.client.Result, org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController)">
@@ -960,7 +1022,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>addResult</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.451">addResult</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.465">addResult</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse.Builder&nbsp;builder,
              <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
              <a href="../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">PayloadCarryingRpcController</a>&nbsp;rpcc)</pre>
 </li>
@@ -971,7 +1033,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>addResults</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.463">addResults</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.477">addResults</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse.Builder&nbsp;builder,
               <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;results,
               com.google.protobuf.RpcController&nbsp;controller,
               boolean&nbsp;isDefaultRegion,
@@ -984,7 +1046,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRows</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.490">mutateRows</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionLoadStats&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.504">mutateRows</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                                                                  <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
                                                                                  <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)
                                                                                     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>
@@ -1000,7 +1062,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.533">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.547">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
                         <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
                         byte[]&nbsp;row,
@@ -1021,7 +1083,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.573">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.587">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
             <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
             org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;m,
             <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
@@ -1041,7 +1103,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.610">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.624">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
@@ -1060,7 +1122,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>doNonAtomicRegionMutation</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/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.653">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.667">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                             <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                                             org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction&nbsp;actions,
                                             <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
@@ -1082,7 +1144,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>doBatchOp</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.805">doBatchOp</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.822">doBatchOp</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult.Builder&nbsp;builder,
              <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
              <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
              <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;mutations,
@@ -1097,7 +1159,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>doReplayBatchOp</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.885">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.902">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                 <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;&nbsp;mutations,
                                 long&nbsp;replaySeqId)
                                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1116,7 +1178,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>closeAllScanners</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.951">closeAllScanners</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.968">closeAllScanners</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange(org.apache.hadoop.conf.Configuration)">
@@ -1125,7 +1187,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1038">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1055">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">ConfigurationObserver</a></code></strong></div>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>
@@ -1141,7 +1203,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>createPriority</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1044">createPriority</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1061">createPriority</a>()</pre>
 </li>
 </ul>
 <a name="getHostname(org.apache.hadoop.conf.Configuration, boolean)">
@@ -1150,7 +1212,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostname</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1048">getHostname</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1065">getHostname</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                  boolean&nbsp;isMaster)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/net/UnknownHostException.html?is-external=true" title="class or interface in java.net">UnknownHostException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1163,7 +1225,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1063">getScanner</a>(long&nbsp;scannerId)</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1080">getScanner</a>(long&nbsp;scannerId)</pre>
 </li>
 </ul>
 <a name="getScannerVirtualTime(long)">
@@ -1172,7 +1234,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getScannerVirtualTime</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1076">getScannerVirtualTime</a>(long&nbsp;scannerId)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1093">getScannerVirtualTime</a>(long&nbsp;scannerId)</pre>
 <div class="block">Get the vtime associated with the scanner.
  Currently the vtime is the number of "next" calls.</div>
 </li>
@@ -1183,7 +1245,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>addSize</h4>
-<pre><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;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1089">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context,
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1106">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context,
              <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
              <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;lastBlock)</pre>
 <div class="block">Method to account for the size of retained cells and retained data blocks.</div>
@@ -1196,7 +1258,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>addScanner</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1123">addScanner</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;scannerName,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1140">addScanner</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;scannerName,
                                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s,
                                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
                                        throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.LeaseStillHeldException.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.LeaseStillHeldException</a></pre>
@@ -1210,7 +1272,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegion</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1148">getRegion</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier&nbsp;regionSpecifier)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1165">getRegion</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier&nbsp;regionSpecifier)
            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">Find the HRegion based on a region specifier</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>regionSpecifier</code> - the region specifier</dd>
@@ -1226,7 +1288,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1166">getPriority</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1183">getPriority</a>()</pre>
 </li>
 </ul>
 <a name="getConfiguration()">
@@ -1235,7 +1297,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1171">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1188">getConfiguration</a>()</pre>
 </li>
 </ul>
 <a name="getQuotaManager()">
@@ -1244,7 +1306,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1175">getQuotaManager</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1192">getQuotaManager</a>()</pre>
 </li>
 </ul>
 <a name="start()">
@@ -1253,7 +1315,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1179">start</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1196">start</a>()</pre>
 </li>
 </ul>
 <a name="stop()">
@@ -1262,7 +1324,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1183">stop</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1200">stop</a>()</pre>
 </li>
 </ul>
 <a name="checkOpen()">
@@ -1271,7 +1333,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>checkOpen</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1193">checkOpen</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1210">checkOpen</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">Called to verify that this server is up and running.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1284,7 +1346,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getServices</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/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1211">getServices</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1228">getServices</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>list of blocking services and their security info classes that this server supports</dd></dl>
 </li>
 </ul>
@@ -1294,7 +1356,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getSocketAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1222">getSocketAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1239">getSocketAddress</a>()</pre>
 </li>
 </ul>
 <a name="getPriority(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader, com.google.protobuf.Message, org.apache.hadoop.hbase.security.User)">
@@ -1303,7 +1365,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1227">getPriority</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1244">getPriority</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
               com.google.protobuf.Message&nbsp;param,
               <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getPriority(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader,%20com.google.protobuf.Message,%20org.apache.hadoop.hbase.security.User)">PriorityFunction</a></code></strong></div>
@@ -1321,7 +1383,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeadline</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1232">getDeadline</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1249">getDeadline</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
                com.google.protobuf.Message&nbsp;param)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getDeadline(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader,%20com.google.protobuf.Message)">PriorityFunction</a></code></strong></div>
 <div class="block">Returns the deadline of the specified request.
@@ -1338,7 +1400,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>checkOOME</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1244">checkOOME</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1261">checkOOME</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html#checkOOME(java.lang.Throwable)">HBaseRPCErrorHandler</a></code></strong></div>
 <div class="block">Take actions on the event of an OutOfMemoryError.</div>
 <dl>
@@ -1354,7 +1416,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1272">closeRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1289">closeRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                      org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionRequest&nbsp;request)
                                                                                        throws com.google.protobuf.ServiceException</pre>
 <div class="block">Close a region on the region server.</div>
@@ -1372,7 +1434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>compactRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CompactRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1315">compactRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CompactRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1332">compactRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                          org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CompactRegionRequest&nbsp;request)
                                                                                            throws com.google.protobuf.ServiceException</pre>
 <div class="block">Compact a region on the region server.</div>
@@ -1390,7 +1452,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>flushRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.FlushRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1373">flushRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.FlushRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1390">flushRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                      org.apache.hadoop.hbase.protobuf.generated.AdminProtos.FlushRegionRequest&nbsp;request)
                                                                                        throws com.google.protobuf.ServiceException</pre>
 <div class="block">Flush a region on the region server.</div>
@@ -1408,7 +1470,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetOnlineRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1420">getOnlineRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetOnlineRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1437">getOnlineRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                              org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetOnlineRegionRequest&nbsp;request)
                                                                                                throws com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1424,7 +1486,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1439">getRegionInfo</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1456">getRegionInfo</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                          org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetRegionInfoRequest&nbsp;request)
                                                                                            throws com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1440,7 +1502,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetServerInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1467">getServerInfo</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetServerInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1484">getServerInfo</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                          org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetServerInfoRequest&nbsp;request)
                                                                                            throws com.google.protobuf.ServiceException</pre>
 <div class="block">Get some information of the region server.</div>
@@ -1458,7 +1520,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFile</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetStoreFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1481">getStoreFile</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetStoreFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1498">getStoreFile</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                        org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetStoreFileRequest&nbsp;request)
                                                                                          throws com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1474,7 +1536,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeRegions</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.MergeRegionsResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1517">mergeRegions</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.MergeRegionsResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1534">mergeRegions</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                        org.apache.hadoop.hbase.protobuf.generated.AdminProtos.MergeRegionsRequest&nbsp;request)
                                                                                          throws com.google.protobuf.ServiceException</pre>
 <div class="block">Merge regions on the region server.</div>
@@ -1493,7 +1555,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>openRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.OpenRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1582">openRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.OpenRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1599">openRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                    org.apache.hadoop.hbase.protobuf.generated.AdminProtos.OpenRegionRequest&nbsp;request)
                                                                                      throws com.google.protobuf.ServiceException</pre>
 <div class="block">Open asynchronously a region or a set of regions on the region server.
@@ -1528,7 +1590,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>warmupRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1741">warmupRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1758">warmupRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                        org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest&nbsp;request)
                                                                                          throws com.google.protobuf.ServiceException</pre>
 <div class="block">Wamrmup a region on this server.
@@ -1550,7 +1612,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>replay</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1792">replay</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1809">replay</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                       org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryRequest&nbsp;request)
                                                                                         throws com.google.protobuf.ServiceException</pre>
 <div class="block">Replay the given changes when distributedLogReplay WAL edits from a failed RS. The guarantee is
@@ -1570,7 +1632,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1880">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1897">getWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region)</pre>
 </li>
 </ul>
 <a name="replicateWALEntry(com.google.protobuf.RpcController, org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryRequest)">
@@ -1579,7 +1641,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>replicateWALEntry</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1893">replicateWALEntry</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1910">replicateWALEntry</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                                  org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ReplicateWALEntryRequest&nbsp;request)
                                                                                                    throws com.google.protobuf.ServiceException</pre>
 <div class="block">Replicate WAL entries on the region server.</div>
@@ -1597,7 +1659,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rollWALWriter</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.RollWALWriterResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1922">rollWALWriter</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.RollWALWriterResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1939">rollWALWriter</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                          org.apache.hadoop.hbase.protobuf.generated.AdminProtos.RollWALWriterRequest&nbsp;request)
                                                                                            throws com.google.protobuf.ServiceException</pre>
 <div class="block">Roll the WAL writer of the region server.</div>
@@ -1615,7 +1677,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>splitRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1946">splitRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1963">splitRegion</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                      org.apache.hadoop.hbase.protobuf.generated.AdminProtos.SplitRegionRequest&nbsp;request)
                                                                                        throws com.google.protobuf.ServiceException</pre>
 <div class="block">Split a region on the region server.</div>
@@ -1633,7 +1695,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>stopServer</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.StopServerResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1989">stopServer</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.StopServerResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2006">stopServer</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                    org.apache.hadoop.hbase.protobuf.generated.AdminProtos.StopServerRequest&nbsp;request)
                                                                                      throws com.google.protobuf.ServiceException</pre>
 <div class="block">Stop the region server.</div>
@@ -1651,7 +1713,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>updateFavoredNodes</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1998">updateFavoredNodes</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2015">updateFavoredNodes</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                                    org.apache.hadoop.hbase.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest&nbsp;request)
                                                                                                      throws com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1667,7 +1729,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadHFile</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2017">bulkLoadHFile</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2034">bulkLoadHFile</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                           org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest&nbsp;request)
                                                                                             throws com.google.protobuf.ServiceException</pre>
 <div class="block">Atomically bulk load several HFiles into an open region</div>
@@ -1685,7 +1747,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>execService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2048">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2065">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                                              org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest&nbsp;request)
                                                                                                throws com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1701,7 +1763,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>execServiceOnRegion</h4>
-<pre>private&nbsp;com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2068">execServiceOnRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2085">execServiceOnRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                               org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall&nbsp;serviceCall)
                                                  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>
@@ -1714,7 +1776,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2083">get</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2100">get</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                       org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest&nbsp;request)
                                                                         throws com.google.protobuf.ServiceException</pre>
 <div class="block">Get data from a table.</div>
@@ -1732,7 +1794,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2151">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2169">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
          <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/RSRpcServices.RegionScannersCloseCallBack.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannersCloseCallBack</a>&nbsp;closeCallBack,
          <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context)
@@ -1747,7 +1809,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>multi</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2205">multi</a>(com.google.protobuf.RpcController&nbsp;rpcc,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2223">multi</a>(com.google.protobuf.RpcController&nbsp;rpcc,
                                                                           org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest&nbsp;request)
                                                                             throws com.google.protobuf.ServiceException</pre>
 <div class="block">Execute multiple actions on a table: get, mutate, and/or execCoprocessor</div>
@@ -1759,13 +1821,33 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <dd><code>com.google.protobuf.ServiceException</code></dd></dl>
 </li>
 </ul>
+<a name="skipCellsForMutations(java.util.List, org.apache.hadoop.hbase.CellScanner)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>skipCellsForMutations</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2324">skipCellsForMutations</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;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
+                         <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</pre>
+</li>
+</ul>
+<a name="skipCellsForMutation(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action, org.apache.hadoop.hbase.CellScanner)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>skipCellsForMutation</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2330">skipCellsForMutation</a>(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action&nbsp;action,
+                        <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner)</pre>
+</li>
+</ul>
 <a name="mutate(com.google.protobuf.RpcController, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>mutate</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2307">mutate</a>(com.google.protobuf.RpcController&nbsp;rpcc,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2356">mutate</a>(com.google.protobuf.RpcController&nbsp;rpcc,
                                                                             org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest&nbsp;request)
                                                                               throws com.google.protobuf.ServiceException</pre>
 <div class="block">Mutate data in a table.</div>
@@ -1783,7 +1865,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scan</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2428">scan</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2478">scan</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                                         org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest&nbsp;request)
                                                                           throws com.google.protobuf.ServiceException</pre>
 <div class="block">Scan data in a table.</div>
@@ -1801,7 +1883,7 @@ implements <a href="../../../../../org/apache/ha

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
index b9f3a92..412b52a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.CompactionChecker.html
@@ -2339,1090 +2339,1094 @@
 <span class="sourceLineNo">2331</span>    RegionServerStartupResponse result = null;<a name="line.2331"></a>
 <span class="sourceLineNo">2332</span>    try {<a name="line.2332"></a>
 <span class="sourceLineNo">2333</span>      rpcServices.requestCount.set(0);<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      int port = rpcServices.isa.getPort();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setPort(port);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerStartCode(this.startcode);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      request.setServerCurrentTime(now);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>    } catch (ServiceException se) {<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // Re-throw IOE will cause RS to abort<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        throw ioe;<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>        LOG.debug("Master is not running yet");<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        LOG.warn("error telling master we are up", se);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>      rssStub = null;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    }<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    return result;<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  @Override<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    try {<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      if (rss == null) { // Try to connect one more time<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        createRegionServerStatusStub();<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        rss = rssStub;<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>        if (rss == null) {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          // Still no luck, we tried<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>              .build();<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      }<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    } catch (ServiceException e) {<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>          .build();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>  }<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span><a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  /**<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Closes all regions.  Called on our way out.<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * while this method runs.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   */<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>    closeUserRegions(abort);<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>    closeMetaTableRegions(abort);<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  }<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span><a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  /**<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>   * Close meta region if we carry it<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>   * @param abort Whether we're running an abort.<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   */<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    Region meta = null;<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>    this.lock.writeLock().lock();<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    try {<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        if (hri.isMetaRegion()) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          meta = e.getValue();<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>        }<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        if (meta != null) break;<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      }<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>    } finally {<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      this.lock.writeLock().unlock();<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    }<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>  }<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span><a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>  /**<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>   * Schedule closes on all user regions.<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * that are already closed or that are closing.<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param abort Whether we're running an abort.<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   */<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  void closeUserRegions(final boolean abort) {<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>    this.lock.writeLock().lock();<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>    try {<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        Region r = e.getValue();<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>          // Don't update zk with this close transition; pass false.<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>        }<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>      }<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    } finally {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      this.lock.writeLock().unlock();<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  /** @return the info server */<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>  public InfoServer getInfoServer() {<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return infoServer;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>  }<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span><a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>  /**<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @return true if a stop has been requested.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>  @Override<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>  public boolean isStopped() {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>    return this.stopped;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>  }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>  @Override<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>  public boolean isStopping() {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>    return this.stopping;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>  }<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span><a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  @Override<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>    return this.recoveringRegions;<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>  }<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span><a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>  /**<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>   *<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>   * @return the configuration<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>   */<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>  @Override<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>  public Configuration getConfiguration() {<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>    return conf;<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>  }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>  /** @return the write lock for the server */<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>    return lock.writeLock();<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>  }<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span><a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>  public int getNumberOfOnlineRegions() {<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>    return this.onlineRegions.size();<a name="line.2479"></a>
+<span class="sourceLineNo">2334</span>      rpcServices.rpcGetRequestCount.set(0);<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>      rpcServices.rpcScanRequestCount.set(0);<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>      rpcServices.rpcMultiRequestCount.set(0);<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>      rpcServices.rpcMutateRequestCount.set(0);<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>      int port = rpcServices.isa.getPort();<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span>      }<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>      request.setPort(port);<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>      request.setServerStartCode(this.startcode);<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>      request.setServerCurrentTime(now);<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>    } catch (ServiceException se) {<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>        // Re-throw IOE will cause RS to abort<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>        throw ioe;<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span>        LOG.debug("Master is not running yet");<a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>      } else {<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>        LOG.warn("error telling master we are up", se);<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>      }<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>      rssStub = null;<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>    }<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>    return result;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span>  }<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span><a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>  @Override<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>    try {<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span>      if (rss == null) { // Try to connect one more time<a name="line.2372"></a>
+<span class="sourceLineNo">2373</span>        createRegionServerStatusStub();<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span>        rss = rssStub;<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        if (rss == null) {<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          // Still no luck, we tried<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span>              .build();<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        }<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>      }<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>    } catch (ServiceException e) {<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>          .build();<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>    }<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Closes all regions.  Called on our way out.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * while this method runs.<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   */<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>    closeUserRegions(abort);<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>    closeMetaTableRegions(abort);<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  }<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span><a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * Close meta region if we carry it<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * @param abort Whether we're running an abort.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   */<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>    Region meta = null;<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    this.lock.writeLock().lock();<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>    try {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>        if (hri.isMetaRegion()) {<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>          meta = e.getValue();<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>        }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span>        if (meta != null) break;<a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>    } finally {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>      this.lock.writeLock().unlock();<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>    }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Schedule closes on all user regions.<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   * that are already closed or that are closing.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   * @param abort Whether we're running an abort.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   */<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>  void closeUserRegions(final boolean abort) {<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>    this.lock.writeLock().lock();<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>    try {<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>        Region r = e.getValue();<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>          // Don't update zk with this close transition; pass false.<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>        }<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>      }<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>    } finally {<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>      this.lock.writeLock().unlock();<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>    }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span><a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>  /** @return the info server */<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  public InfoServer getInfoServer() {<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>    return infoServer;<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  }<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span><a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>  /**<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>   * @return true if a stop has been requested.<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   */<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>  @Override<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>  public boolean isStopped() {<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    return this.stopped;<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>  }<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span><a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>  @Override<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  public boolean isStopping() {<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>    return this.stopping;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>  }<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span><a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>  @Override<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>    return this.recoveringRegions;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>  }<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>  /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   *<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @return the configuration<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   */<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>  @Override<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  public Configuration getConfiguration() {<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>    return conf;<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>  }<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span><a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>  /** @return the write lock for the server */<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>    return lock.writeLock();<a name="line.2479"></a>
 <span class="sourceLineNo">2480</span>  }<a name="line.2480"></a>
 <span class="sourceLineNo">2481</span><a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>  boolean isOnlineRegionsEmpty() {<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    return this.onlineRegions.isEmpty();<a name="line.2483"></a>
+<span class="sourceLineNo">2482</span>  public int getNumberOfOnlineRegions() {<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>    return this.onlineRegions.size();<a name="line.2483"></a>
 <span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
 <span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * For tests, web ui and metrics.<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>   */<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>    return Collections.unmodifiableCollection(regions);<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  }<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span><a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>  @Override<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>  public void addToOnlineRegions(Region region) {<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>    configurationManager.registerObserver(region);<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>  }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span><a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  /**<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * may NOT return all regions.<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    // we'll sort the regions in reverse<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>        new Comparator&lt;Long&gt;() {<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>          @Override<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>          public int compare(Long a, Long b) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>            return -1 * a.compareTo(b);<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>          }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>        });<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    }<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>    return sortedRegions;<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>  }<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span><a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>  /**<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>   * @return time stamp in millis of when this region server was started<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>   */<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>  public long getStartcode() {<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>    return this.startcode;<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>  }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span><a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>  /** @return reference to FlushRequester */<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>  @Override<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>  public FlushRequester getFlushRequester() {<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    return this.cacheFlusher;<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>  }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span><a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  /**<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>   * the first N regions being served regardless of load.)<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>   */<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>    for (Region r : onlineRegions.values()) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      if (!r.isAvailable()) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>        continue;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>      }<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        regions.add(r.getRegionInfo());<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>      } else {<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        break;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>      }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>    }<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>  }<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span><a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>  @Override<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>  public Leases getLeases() {<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>    return leases;<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>  }<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span><a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>  /**<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>   * @return Return the rootDir.<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>   */<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>  protected Path getRootDir() {<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return rootDir;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * @return Return the fs.<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   */<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>  @Override<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>  public FileSystem getFileSystem() {<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>    return fs;<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  }<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span><a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  @Override<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>  public String toString() {<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>    return getServerName().toString();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span><a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>   * Interval at which threads should run<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>   *<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>   * @return the interval<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>   */<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>  public int getThreadWakeFrequency() {<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    return threadWakeFrequency;<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>    return zooKeeper;<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  @Override<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>    return csm;<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  }<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span><a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>  @Override<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  public ServerName getServerName() {<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span>    return serverName;<a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span><a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>    return this.compactSplitThread;<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span><a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>    return this.rsHost;<a name="line.2612"></a>
+<span class="sourceLineNo">2486</span>  boolean isOnlineRegionsEmpty() {<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>    return this.onlineRegions.isEmpty();<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>  }<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span><a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>  /**<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>   * For tests, web ui and metrics.<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>   */<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>    return Collections.unmodifiableCollection(regions);<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>  }<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span><a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>  @Override<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>  public void addToOnlineRegions(Region region) {<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    configurationManager.registerObserver(region);<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>  }<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span><a name="line.2505"></a>
+<span class="sourceLineNo">2506</span>  /**<a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   * may NOT return all regions.<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>   */<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>    // we'll sort the regions in reverse<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>        new Comparator&lt;Long&gt;() {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>          @Override<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>          public int compare(Long a, Long b) {<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>            return -1 * a.compareTo(b);<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>          }<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>        });<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>    }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span>    return sortedRegions;<a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  }<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span><a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>  /**<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>   * @return time stamp in millis of when this region server was started<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>   */<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>  public long getStartcode() {<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    return this.startcode;<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>  }<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span><a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>  /** @return reference to FlushRequester */<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span>  @Override<a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>  public FlushRequester getFlushRequester() {<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    return this.cacheFlusher;<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>  }<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span><a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>  /**<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>   * the first N regions being served regardless of load.)<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>   */<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>    for (Region r : onlineRegions.values()) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>      if (!r.isAvailable()) {<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>        continue;<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>      }<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>        regions.add(r.getRegionInfo());<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>      } else {<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>        break;<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>      }<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>    }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>  }<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span><a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>  @Override<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>  public Leases getLeases() {<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>    return leases;<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>  }<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span><a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>  /**<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>   * @return Return the rootDir.<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>   */<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>  protected Path getRootDir() {<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>    return rootDir;<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span>  }<a name="line.2571"></a>
+<span class="sourceLineNo">2572</span><a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>  /**<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * @return Return the fs.<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   */<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>  @Override<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>  public FileSystem getFileSystem() {<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>    return fs;<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>  }<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span><a name="line.2580"></a>
+<span class="sourceLineNo">2581</span>  @Override<a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  public String toString() {<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>    return getServerName().toString();<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span><a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>   * Interval at which threads should run<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span>   *<a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>   * @return the interval<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   */<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>  public int getThreadWakeFrequency() {<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>    return threadWakeFrequency;<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>  }<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span><a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>  @Override<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>    return zooKeeper;<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span><a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  @Override<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>    return csm;<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  }<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span><a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  @Override<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  public ServerName getServerName() {<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>    return serverName;<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span><a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    return this.compactSplitThread;<a name="line.2612"></a>
 <span class="sourceLineNo">2613</span>  }<a name="line.2613"></a>
 <span class="sourceLineNo">2614</span><a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  @Override<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>    return this.regionsInTransitionInRS;<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>  public ExecutorService getExecutorService() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    return service;<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span><a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  @Override<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  public ChoreService getChoreService() {<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>    return choreService;<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span><a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>    return rsQuotaManager;<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span><a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>  //<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>  // Main program and support routines<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  //<a name="line.2637"></a>
+<span class="sourceLineNo">2615</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    return this.rsHost;<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>  }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span><a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  @Override<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return this.regionsInTransitionInRS;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public ExecutorService getExecutorService() {<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return service;<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public ChoreService getChoreService() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    return choreService;<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  @Override<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>    return rsQuotaManager;<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
 <span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  /**<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>   * Load the replication service objects, if any<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>   */<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    // If replication is not enabled, then return immediately.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      return;<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>    // read in the name of the source replication class from the config file.<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2653"></a>
+<span class="sourceLineNo">2639</span>  //<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  // Main program and support routines<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  //<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span><a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  /**<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>   * Load the replication service objects, if any<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>   */<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span><a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    // If replication is not enabled, then return immediately.<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      return;<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    }<a name="line.2653"></a>
 <span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>    // read in the name of the sink replication class from the config file.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
+<span class="sourceLineNo">2655</span>    // read in the name of the source replication class from the config file.<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
 <span class="sourceLineNo">2658</span><a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    // only one object.<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>                                         newReplicationInstance(sourceClassname,<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>                                         server.replicationSourceHandler;<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } else {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>                                         newReplicationInstance(sourceClassname,<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>                                         newReplicationInstance(sinkClassname,<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span><a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    Path oldLogDir) throws IOException{<a name="line.2679"></a>
+<span class="sourceLineNo">2659</span>    // read in the name of the sink replication class from the config file.<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span><a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>    // only one object.<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                                         newReplicationInstance(sourceClassname,<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>                                         server.replicationSourceHandler;<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>    } else {<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                         newReplicationInstance(sourceClassname,<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>                                         newReplicationInstance(sinkClassname,<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
 <span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    Class&lt;?&gt; clazz = null;<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    try {<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>      throw new IOException("Could not find class for " + classname);<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>    }<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span><a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    // create an instance of the replication object.<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    ReplicationService service = (ReplicationService)<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>    return service;<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span><a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  /**<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>   *<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>   * @param regionServerClass<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>   * @param conf2<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>   * @return HRegionServer instance.<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>   */<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  public static HRegionServer constructRegionServer(<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    try {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      return c.newInstance(conf2, cp);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    } catch (Exception e) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>          + regionServerClass.toString(), e);<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>  }<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span><a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  /**<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>   */<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public static void main(String[] args) throws Exception {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>    VersionInfo.logVersion();<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    @SuppressWarnings("unchecked")<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span><a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span><a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  /**<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>   * Gets the online regions of the specified table.<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>   * all the ONLINE regions in the table.<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>   * @param tableName<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>   */<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>  @Override<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>     synchronized (this.onlineRegions) {<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>           tableRegions.add(region);<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>         }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>       }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>     }<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>     return tableRegions;<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>   }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span><a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  @Override<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    synchronized (this.onlineRegions) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      // Return a clone copy of the onlineRegions<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>      allRegions.addAll(onlineRegions.values());<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>    }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>    return allRegions;<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  }<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>  /**<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>   * Gets the online tables in this RS.<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>   * This method looks at the in-memory onlineRegions.<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>   * @return all the online tables in this RS<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>   */<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  @Override<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>  public Set&lt;TableName&gt; getOnlineTables() {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    Set&lt;TableName&gt; tables = new HashSet&lt;TableName&gt;();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    synchronized (this.onlineRegions) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      for (Region region: this.onlineRegions.values()) {<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        tables.add(region.getTableDesc().getTableName());<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>      }<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>    }<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>    return tables;<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  // used by org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (HBASE-4070).<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>  public String[] getRegionServerCoprocessors() {<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    TreeSet&lt;String&gt; coprocessors = new TreeSet&lt;String&gt;();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>    try {<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>      coprocessors.addAll(getWAL(null).getCoprocessorHost().getCoprocessors());<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>    } catch (IOException exception) {<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>      LOG.warn("Exception attempting to fetch wal coprocessor information for the common wal; " +<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>          "skipping.");<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>      LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    }<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    Collection&lt;Region&gt; regions = getOnlineRegionsLocalContext();<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>    for (Region region: regions) {<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>      coprocessors.addAll(region.getCoprocessorHost().getCoprocessors());<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>      try {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>        coprocessors.addAll(getWAL(region.getRegionInfo()).getCoprocessorHost().getCoprocessors());<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>      } catch (IOException exception) {<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>        LOG.warn("Exception attempting to fetch wal coprocessor information for region " + region +<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>            "; skipping.");<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>        LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>      }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    }<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>    return coprocessors.toArray(new String[coprocessors.size()]);<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  }<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span><a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>  /**<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>   * Try to close the region, logs a warning on failure but continues.<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>   * @param region Region to close<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>   */<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>  private void closeRegionIgnoreErrors(HRegionInfo region, final boolean abort) {<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    try {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      if (!closeRegion(region.getEncodedName(), abort, null)) {<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>        LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>            " - ignoring and continuing");<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>      }<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    } catch (IOException e) {<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>      LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>          " - ignoring and continuing", e);<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>    }<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  }<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span><a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  /**<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>   * Close asynchronously a region, can be called from the master or internally by the regionserver<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>   * when stopping. If called from the master, the region will update the znode status.<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>   *<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>   * &lt;p&gt;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>   * If an opening was in progress, this method will cancel it, but will not start a new close. The<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>   * coprocessors are not called in this case. A NotServingRegionException exception is thrown.<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>   * &lt;/p&gt;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span><a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * &lt;p&gt;<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   *   If a close was in progress, this new request will be ignored, and an exception thrown.<a name="line.2828"></a>
+<span class="sourceLineNo">2681</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    Path oldLogDir) throws IOException{<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span><a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>    Class&lt;?&gt; clazz = null;<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    try {<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>      throw new IOException("Could not find class for " + classname);<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>    }<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span><a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    // create an instance of the replication object.<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    ReplicationService service = (ReplicationService)<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    return service;<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span><a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  /**<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>   *<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>   * @param regionServerClass<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>   * @param conf2<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>   * @return HRegionServer instance.<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   */<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  public static HRegionServer constructRegionServer(<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    try {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>      return c.newInstance(conf2, cp);<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    } catch (Exception e) {<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>          + regionServerClass.toString(), e);<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  /**<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>   */<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  public static void main(String[] args) throws Exception {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    VersionInfo.logVersion();<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    @SuppressWarnings("unchecked")<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>  /**<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>   * Gets the online regions of the specified table.<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>   * all the ONLINE regions in the table.<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>   * @param tableName<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>   */<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>  @Override<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>     synchronized (this.onlineRegions) {<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>           tableRegions.add(region);<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>         }<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>       }<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>     }<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>     return tableRegions;<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>   }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span><a name="line.2756"></a>
+<span class="sourceLineNo">2757</span>  @Override<a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>    synchronized (this.onlineRegions) {<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>      // Return a clone copy of the onlineRegions<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>      allRegions.addAll(onlineRegions.values());<a name="line.2762"></a>
+<span class="s

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        region.getCoprocessorHost().postAppend(a

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
index 2ffbf97..ed06d4c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.html
@@ -427,345 +427,365 @@
 <span class="sourceLineNo">419</span>  }<a name="line.419"></a>
 <span class="sourceLineNo">420</span><a name="line.420"></a>
 <span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public long getCheckAndMutateChecksFailed() {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return checkAndMutateChecksFailed;<a name="line.423"></a>
+<span class="sourceLineNo">422</span>  public long getRpcGetRequestsCount() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return regionServer.rpcServices.rpcGetRequestCount.get();<a name="line.423"></a>
 <span class="sourceLineNo">424</span>  }<a name="line.424"></a>
 <span class="sourceLineNo">425</span><a name="line.425"></a>
 <span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public long getCheckAndMutateChecksPassed() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return checkAndMutateChecksPassed;<a name="line.428"></a>
+<span class="sourceLineNo">427</span>  public long getRpcScanRequestsCount() {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return regionServer.rpcServices.rpcScanRequestCount.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>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public long getStoreFileIndexSize() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return storefileIndexSize;<a name="line.433"></a>
+<span class="sourceLineNo">432</span>  public long getRpcMultiRequestsCount() {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    return regionServer.rpcServices.rpcMultiRequestCount.get();<a name="line.433"></a>
 <span class="sourceLineNo">434</span>  }<a name="line.434"></a>
 <span class="sourceLineNo">435</span><a name="line.435"></a>
 <span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public long getTotalStaticIndexSize() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return totalStaticIndexSize;<a name="line.438"></a>
+<span class="sourceLineNo">437</span>  public long getRpcMutateRequestsCount() {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    return regionServer.rpcServices.rpcMutateRequestCount.get();<a name="line.438"></a>
 <span class="sourceLineNo">439</span>  }<a name="line.439"></a>
 <span class="sourceLineNo">440</span><a name="line.440"></a>
 <span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public long getTotalStaticBloomSize() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return totalStaticBloomSize;<a name="line.443"></a>
+<span class="sourceLineNo">442</span>  public long getCheckAndMutateChecksFailed() {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return checkAndMutateChecksFailed;<a name="line.443"></a>
 <span class="sourceLineNo">444</span>  }<a name="line.444"></a>
 <span class="sourceLineNo">445</span><a name="line.445"></a>
 <span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public long getNumMutationsWithoutWAL() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return numMutationsWithoutWAL;<a name="line.448"></a>
+<span class="sourceLineNo">447</span>  public long getCheckAndMutateChecksPassed() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return checkAndMutateChecksPassed;<a name="line.448"></a>
 <span class="sourceLineNo">449</span>  }<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
 <span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public long getDataInMemoryWithoutWAL() {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return dataInMemoryWithoutWAL;<a name="line.453"></a>
+<span class="sourceLineNo">452</span>  public long getStoreFileIndexSize() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    return storefileIndexSize;<a name="line.453"></a>
 <span class="sourceLineNo">454</span>  }<a name="line.454"></a>
 <span class="sourceLineNo">455</span><a name="line.455"></a>
 <span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  public double getPercentFileLocal() {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    return percentFileLocal;<a name="line.458"></a>
+<span class="sourceLineNo">457</span>  public long getTotalStaticIndexSize() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return totalStaticIndexSize;<a name="line.458"></a>
 <span class="sourceLineNo">459</span>  }<a name="line.459"></a>
 <span class="sourceLineNo">460</span><a name="line.460"></a>
 <span class="sourceLineNo">461</span>  @Override<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    return percentFileLocalSecondaryRegions;<a name="line.463"></a>
+<span class="sourceLineNo">462</span>  public long getTotalStaticBloomSize() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    return totalStaticBloomSize;<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>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public long getUpdatesBlockedTime() {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return 0;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<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>  @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  public long getFlushedCellsCount() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return flushedCellsCount;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>  }<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  @Override<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  public long getCompactedCellsCount() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    return compactedCellsCount;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>  @Override<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  public long getMajorCompactedCellsCount() {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    return majorCompactedCellsCount;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>  @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  public long getFlushedCellsSize() {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    return flushedCellsSize;<a name="line.491"></a>
+<span class="sourceLineNo">467</span>  public long getNumMutationsWithoutWAL() {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    return numMutationsWithoutWAL;<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>  @Override<a name="line.471"></a>
+<span class="sourceLineNo">472</span>  public long getDataInMemoryWithoutWAL() {<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    return dataInMemoryWithoutWAL;<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>  @Override<a name="line.476"></a>
+<span class="sourceLineNo">477</span>  public double getPercentFileLocal() {<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    return percentFileLocal;<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>  @Override<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    return percentFileLocalSecondaryRegions;<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span>  @Override<a name="line.486"></a>
+<span class="sourceLineNo">487</span>  public long getUpdatesBlockedTime() {<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      return 0;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<a name="line.491"></a>
 <span class="sourceLineNo">492</span>  }<a name="line.492"></a>
 <span class="sourceLineNo">493</span><a name="line.493"></a>
 <span class="sourceLineNo">494</span>  @Override<a name="line.494"></a>
-<span class="sourceLineNo">495</span>  public long getCompactedCellsSize() {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    return compactedCellsSize;<a name="line.496"></a>
+<span class="sourceLineNo">495</span>  public long getFlushedCellsCount() {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    return flushedCellsCount;<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>  @Override<a name="line.499"></a>
-<span class="sourceLineNo">500</span>  public long getMajorCompactedCellsSize() {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    return majorCompactedCellsSize;<a name="line.501"></a>
+<span class="sourceLineNo">500</span>  public long getCompactedCellsCount() {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    return compactedCellsCount;<a name="line.501"></a>
 <span class="sourceLineNo">502</span>  }<a name="line.502"></a>
 <span class="sourceLineNo">503</span><a name="line.503"></a>
 <span class="sourceLineNo">504</span>  @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  public long getCellsCountCompactedFromMob() {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    return cellsCountCompactedFromMob;<a name="line.506"></a>
+<span class="sourceLineNo">505</span>  public long getMajorCompactedCellsCount() {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    return majorCompactedCellsCount;<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 long getCellsCountCompactedToMob() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    return cellsCountCompactedToMob;<a name="line.511"></a>
+<span class="sourceLineNo">510</span>  public long getFlushedCellsSize() {<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    return flushedCellsSize;<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>  @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  public long getCellsSizeCompactedFromMob() {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    return cellsSizeCompactedFromMob;<a name="line.516"></a>
+<span class="sourceLineNo">515</span>  public long getCompactedCellsSize() {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>    return compactedCellsSize;<a name="line.516"></a>
 <span class="sourceLineNo">517</span>  }<a name="line.517"></a>
 <span class="sourceLineNo">518</span><a name="line.518"></a>
 <span class="sourceLineNo">519</span>  @Override<a name="line.519"></a>
-<span class="sourceLineNo">520</span>  public long getCellsSizeCompactedToMob() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    return cellsSizeCompactedToMob;<a name="line.521"></a>
+<span class="sourceLineNo">520</span>  public long getMajorCompactedCellsSize() {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    return majorCompactedCellsSize;<a name="line.521"></a>
 <span class="sourceLineNo">522</span>  }<a name="line.522"></a>
 <span class="sourceLineNo">523</span><a name="line.523"></a>
 <span class="sourceLineNo">524</span>  @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  public long getMobFlushCount() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    return mobFlushCount;<a name="line.526"></a>
+<span class="sourceLineNo">525</span>  public long getCellsCountCompactedFromMob() {<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    return cellsCountCompactedFromMob;<a name="line.526"></a>
 <span class="sourceLineNo">527</span>  }<a name="line.527"></a>
 <span class="sourceLineNo">528</span><a name="line.528"></a>
 <span class="sourceLineNo">529</span>  @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>  public long getMobFlushedCellsCount() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    return mobFlushedCellsCount;<a name="line.531"></a>
+<span class="sourceLineNo">530</span>  public long getCellsCountCompactedToMob() {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    return cellsCountCompactedToMob;<a name="line.531"></a>
 <span class="sourceLineNo">532</span>  }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>  @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public long getMobFlushedCellsSize() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    return mobFlushedCellsSize;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>  public long getCellsSizeCompactedFromMob() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    return cellsSizeCompactedFromMob;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>  }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>  @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  public long getMobScanCellsCount() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    return mobScanCellsCount;<a name="line.541"></a>
+<span class="sourceLineNo">540</span>  public long getCellsSizeCompactedToMob() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    return cellsSizeCompactedToMob;<a name="line.541"></a>
 <span class="sourceLineNo">542</span>  }<a name="line.542"></a>
 <span class="sourceLineNo">543</span><a name="line.543"></a>
 <span class="sourceLineNo">544</span>  @Override<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  public long getMobScanCellsSize() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return mobScanCellsSize;<a name="line.546"></a>
+<span class="sourceLineNo">545</span>  public long getMobFlushCount() {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    return mobFlushCount;<a name="line.546"></a>
 <span class="sourceLineNo">547</span>  }<a name="line.547"></a>
 <span class="sourceLineNo">548</span><a name="line.548"></a>
 <span class="sourceLineNo">549</span>  @Override<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  public long getMobFileCacheAccessCount() {<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    return mobFileCacheAccessCount;<a name="line.551"></a>
+<span class="sourceLineNo">550</span>  public long getMobFlushedCellsCount() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    return mobFlushedCellsCount;<a name="line.551"></a>
 <span class="sourceLineNo">552</span>  }<a name="line.552"></a>
 <span class="sourceLineNo">553</span><a name="line.553"></a>
 <span class="sourceLineNo">554</span>  @Override<a name="line.554"></a>
-<span class="sourceLineNo">555</span>  public long getMobFileCacheMissCount() {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    return mobFileCacheMissCount;<a name="line.556"></a>
+<span class="sourceLineNo">555</span>  public long getMobFlushedCellsSize() {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    return mobFlushedCellsSize;<a name="line.556"></a>
 <span class="sourceLineNo">557</span>  }<a name="line.557"></a>
 <span class="sourceLineNo">558</span><a name="line.558"></a>
 <span class="sourceLineNo">559</span>  @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  public long getMobFileCacheCount() {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return mobFileCacheCount;<a name="line.561"></a>
+<span class="sourceLineNo">560</span>  public long getMobScanCellsCount() {<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    return mobScanCellsCount;<a name="line.561"></a>
 <span class="sourceLineNo">562</span>  }<a name="line.562"></a>
 <span class="sourceLineNo">563</span><a name="line.563"></a>
 <span class="sourceLineNo">564</span>  @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  public long getMobFileCacheEvictedCount() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    return mobFileCacheEvictedCount;<a name="line.566"></a>
+<span class="sourceLineNo">565</span>  public long getMobScanCellsSize() {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    return mobScanCellsSize;<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>  @Override<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  public double getMobFileCacheHitPercent() {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    return mobFileCacheHitRatio * 100;<a name="line.571"></a>
+<span class="sourceLineNo">570</span>  public long getMobFileCacheAccessCount() {<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    return mobFileCacheAccessCount;<a name="line.571"></a>
 <span class="sourceLineNo">572</span>  }<a name="line.572"></a>
 <span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>  /**<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * time metrics.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    private long lastRan = 0;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    private long lastRequestCount = 0;<a name="line.582"></a>
+<span class="sourceLineNo">574</span>  @Override<a name="line.574"></a>
+<span class="sourceLineNo">575</span>  public long getMobFileCacheMissCount() {<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    return mobFileCacheMissCount;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>  @Override<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public long getMobFileCacheCount() {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    return mobFileCacheCount;<a name="line.581"></a>
+<span class="sourceLineNo">582</span>  }<a name="line.582"></a>
 <span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>    @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    synchronized public void run() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      try {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        initBlockCache();<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        initMobFileCache();<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        cacheStats = blockCache.getStats();<a name="line.589"></a>
-<span class="sourceLineNo">590</span><a name="line.590"></a>
-<span class="sourceLineNo">591</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.591"></a>
-<span class="sourceLineNo">592</span>            new HDFSBlocksDistribution();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.593"></a>
-<span class="sourceLineNo">594</span>            new HDFSBlocksDistribution();<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        long tempReadRequestsCount = 0, tempFilteredReadRequestsCount = 0,<a name="line.597"></a>
-<span class="sourceLineNo">598</span>          tempWriteRequestsCount = 0;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        long tempStorefileIndexSize = 0;<a name="line.601"></a>
-<span class="sourceLineNo">602</span>        long tempTotalStaticIndexSize = 0;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        long tempTotalStaticBloomSize = 0;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        double tempPercentFileLocal = 0;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        long tempFlushedCellsCount = 0;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>        long tempCompactedCellsCount = 0;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        long tempMajorCompactedCellsCount = 0;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        long tempFlushedCellsSize = 0;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        long tempCompactedCellsSize = 0;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        long tempMajorCompactedCellsSize = 0;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>        long tempCellsCountCompactedToMob = 0;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        long tempMobFlushCount = 0;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>        long tempMobFlushedCellsCount = 0;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        long tempMobFlushedCellsSize = 0;<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        long tempMobScanCellsCount = 0;<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        long tempMobScanCellsSize = 0;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>        long tempBlockedRequestsCount = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.627"></a>
-<span class="sourceLineNo">628</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          tempFilteredReadRequestsCount += r.getFilteredReadRequestsCount();<a name="line.629"></a>
-<span class="sourceLineNo">630</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.634"></a>
-<span class="sourceLineNo">635</span>          tempNumStores += storeList.size();<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          for (Store store : storeList) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.641"></a>
-<span class="sourceLineNo">642</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.644"></a>
-<span class="sourceLineNo">645</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.645"></a>
-<span class="sourceLineNo">646</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.647"></a>
-<span class="sourceLineNo">648</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.648"></a>
-<span class="sourceLineNo">649</span>            if (store instanceof HMobStore) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>              HMobStore mobStore = (HMobStore) store;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.651"></a>
-<span class="sourceLineNo">652</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.654"></a>
-<span class="sourceLineNo">655</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.655"></a>
-<span class="sourceLineNo">656</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.657"></a>
-<span class="sourceLineNo">658</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<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>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          hdfsBlocksDistribution.add(distro);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>          }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        }<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.669"></a>
-<span class="sourceLineNo">670</span>            regionServer.getServerName().getHostname());<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>        // Compute the number of requests per second<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.679"></a>
-<span class="sourceLineNo">680</span><a name="line.680"></a>
-<span class="sourceLineNo">681</span>        // assume that it took PERIOD seconds to start the executor.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        // this is a guess but it's a pretty good one.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        if (lastRan == 0) {<a name="line.683"></a>
-<span class="sourceLineNo">684</span>          lastRan = currentTime - period;<a name="line.684"></a>
-<span class="sourceLineNo">685</span>        }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>        // If we've time traveled keep the last requests per second.<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        if ((currentTime - lastRan) &gt; 0) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>          long currentRequestCount = getTotalRequestCount();<a name="line.688"></a>
-<span class="sourceLineNo">689</span>          requestsPerSecond = (currentRequestCount - lastRequestCount) /<a name="line.689"></a>
-<span class="sourceLineNo">690</span>              ((currentTime - lastRan) / 1000.0);<a name="line.690"></a>
-<span class="sourceLineNo">691</span>          lastRequestCount = currentRequestCount;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        }<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        lastRan = currentTime;<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>        WALProvider provider = regionServer.walFactory.getWALProvider();<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        WALProvider metaProvider = regionServer.walFactory.getMetaWALProvider();<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        numWALFiles = (provider == null ? 0 : provider.getNumLogFiles()) +<a name="line.697"></a>
-<span class="sourceLineNo">698</span>            (metaProvider == null ? 0 : metaProvider.getNumLogFiles());<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        walFileSize = (provider == null ? 0 : provider.getLogFileSize()) +<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            (provider == null ? 0 : provider.getLogFileSize());<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        // Copy over computed values so that no thread sees half computed values.<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        numStores = tempNumStores;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        numStoreFiles = tempNumStoreFiles;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        memstoreSize = tempMemstoreSize;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        storeFileSize = tempStoreFileSize;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        readRequestsCount = tempReadRequestsCount;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        filteredReadRequestsCount = tempFilteredReadRequestsCount;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        writeRequestsCount = tempWriteRequestsCount;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        checkAndMutateChecksFailed = tempCheckAndMutateChecksFailed;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        checkAndMutateChecksPassed = tempCheckAndMutateChecksPassed;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        storefileIndexSize = tempStorefileIndexSize;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        totalStaticIndexSize = tempTotalStaticIndexSize;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        totalStaticBloomSize = tempTotalStaticBloomSize;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        numMutationsWithoutWAL = tempNumMutationsWithoutWAL;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>        dataInMemoryWithoutWAL = tempDataInMemoryWithoutWAL;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        percentFileLocal = tempPercentFileLocal;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>        percentFileLocalSecondaryRegions = tempPercentFileLocalSecondaryRegions;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        flushedCellsCount = tempFlushedCellsCount;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>        compactedCellsCount = tempCompactedCellsCount;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        majorCompactedCellsCount = tempMajorCompactedCellsCount;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        flushedCellsSize = tempFlushedCellsSize;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        compactedCellsSize = tempCompactedCellsSize;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>        majorCompactedCellsSize = tempMajorCompactedCellsSize;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>        cellsCountCompactedToMob = tempCellsCountCompactedToMob;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        cellsCountCompactedFromMob = tempCellsCountCompactedFromMob;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        cellsSizeCompactedToMob = tempCellsSizeCompactedToMob;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>        cellsSizeCompactedFromMob = tempCellsSizeCompactedFromMob;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        mobFlushCount = tempMobFlushCount;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>        mobFlushedCellsCount = tempMobFlushedCellsCount;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        mobFlushedCellsSize = tempMobFlushedCellsSize;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>        mobScanCellsCount = tempMobScanCellsCount;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        mobScanCellsSize = tempMobScanCellsSize;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        mobFileCacheAccessCount = mobFileCache.getAccessCount();<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        mobFileCacheMissCount = mobFileCache.getMissCount();<a name="line.734"></a>
-<span class="sourceLineNo">735</span>        mobFileCacheHitRatio = Double.<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            isNaN(mobFileCache.getHitRatio())?0:mobFileCache.getHitRatio();<a name="line.736"></a>
-<span class="sourceLineNo">737</span>        mobFileCacheEvictedCount = mobFileCache.getEvictedFileCount();<a name="line.737"></a>
-<span class="sourceLineNo">738</span>        mobFileCacheCount = mobFileCache.getCacheSize();<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        blockedRequestsCount = tempBlockedRequestsCount;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      } catch (Throwable e) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>        LOG.warn("Caught exception! Will suppress and retry.", e);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      }<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    }<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 long getHedgedReadOps() {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadOps();<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  @Override<a name="line.751"></a>
-<span class="sourceLineNo">752</span>  public long getHedgedReadWins() {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadWins();<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>  @Override<a name="line.756"></a>
-<span class="sourceLineNo">757</span>  public long getBlockedRequestsCount() {<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    return blockedRequestsCount;<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">584</span>  @Override<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  public long getMobFileCacheEvictedCount() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    return mobFileCacheEvictedCount;<a name="line.586"></a>
+<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
+<span class="sourceLineNo">590</span>  public double getMobFileCacheHitPercent() {<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    return mobFileCacheHitRatio * 100;<a name="line.591"></a>
+<span class="sourceLineNo">592</span>  }<a name="line.592"></a>
+<span class="sourceLineNo">593</span><a name="line.593"></a>
+<span class="sourceLineNo">594</span>  /**<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * time metrics.<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.599"></a>
+<span class="sourceLineNo">600</span><a name="line.600"></a>
+<span class="sourceLineNo">601</span>    private long lastRan = 0;<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    private long lastRequestCount = 0;<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>    @Override<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    synchronized public void run() {<a name="line.605"></a>
+<span class="sourceLineNo">606</span>      try {<a name="line.606"></a>
+<span class="sourceLineNo">607</span>        initBlockCache();<a name="line.607"></a>
+<span class="sourceLineNo">608</span>        initMobFileCache();<a name="line.608"></a>
+<span class="sourceLineNo">609</span>        cacheStats = blockCache.getStats();<a name="line.609"></a>
+<span class="sourceLineNo">610</span><a name="line.610"></a>
+<span class="sourceLineNo">611</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.611"></a>
+<span class="sourceLineNo">612</span>            new HDFSBlocksDistribution();<a name="line.612"></a>
+<span class="sourceLineNo">613</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.613"></a>
+<span class="sourceLineNo">614</span>            new HDFSBlocksDistribution();<a name="line.614"></a>
+<span class="sourceLineNo">615</span><a name="line.615"></a>
+<span class="sourceLineNo">616</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.616"></a>
+<span class="sourceLineNo">617</span>        long tempReadRequestsCount = 0, tempFilteredReadRequestsCount = 0,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>          tempWriteRequestsCount = 0;<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.619"></a>
+<span class="sourceLineNo">620</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.620"></a>
+<span class="sourceLineNo">621</span>        long tempStorefileIndexSize = 0;<a name="line.621"></a>
+<span class="sourceLineNo">622</span>        long tempTotalStaticIndexSize = 0;<a name="line.622"></a>
+<span class="sourceLineNo">623</span>        long tempTotalStaticBloomSize = 0;<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.624"></a>
+<span class="sourceLineNo">625</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.625"></a>
+<span class="sourceLineNo">626</span>        double tempPercentFileLocal = 0;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>        long tempFlushedCellsCount = 0;<a name="line.628"></a>
+<span class="sourceLineNo">629</span>        long tempCompactedCellsCount = 0;<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        long tempMajorCompactedCellsCount = 0;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        long tempFlushedCellsSize = 0;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>        long tempCompactedCellsSize = 0;<a name="line.632"></a>
+<span class="sourceLineNo">633</span>        long tempMajorCompactedCellsSize = 0;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>        long tempCellsCountCompactedToMob = 0;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.636"></a>
+<span class="sourceLineNo">637</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.637"></a>
+<span class="sourceLineNo">638</span>        long tempMobFlushCount = 0;<a name="line.638"></a>
+<span class="sourceLineNo">639</span>        long tempMobFlushedCellsCount = 0;<a name="line.639"></a>
+<span class="sourceLineNo">640</span>        long tempMobFlushedCellsSize = 0;<a name="line.640"></a>
+<span class="sourceLineNo">641</span>        long tempMobScanCellsCount = 0;<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        long tempMobScanCellsSize = 0;<a name="line.642"></a>
+<span class="sourceLineNo">643</span>        long tempBlockedRequestsCount = 0;<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.645"></a>
+<span class="sourceLineNo">646</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.647"></a>
+<span class="sourceLineNo">648</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.648"></a>
+<span class="sourceLineNo">649</span>          tempFilteredReadRequestsCount += r.getFilteredReadRequestsCount();<a name="line.649"></a>
+<span class="sourceLineNo">650</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.652"></a>
+<span class="sourceLineNo">653</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.653"></a>
+<span class="sourceLineNo">654</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          tempNumStores += storeList.size();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          for (Store store : storeList) {<a name="line.656"></a>
+<span class="sourceLineNo">657</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.657"></a>
+<span class="sourceLineNo">658</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.658"></a>
+<span class="sourceLineNo">659</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.659"></a>
+<span class="sourceLineNo">660</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.660"></a>
+<span class="sourceLineNo">661</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.661"></a>
+<span class="sourceLineNo">662</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.662"></a>
+<span class="sourceLineNo">663</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.663"></a>
+<span class="sourceLineNo">664</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.664"></a>
+<span class="sourceLineNo">665</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.666"></a>
+<span class="sourceLineNo">667</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.667"></a>
+<span class="sourceLineNo">668</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>            if (store instanceof HMobStore) {<a name="line.669"></a>
+<span class="sourceLineNo">670</span>              HMobStore mobStore = (HMobStore) store;<a name="line.670"></a>
+<span class="sourceLineNo">671</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.671"></a>
+<span class="sourceLineNo">672</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.673"></a>
+<span class="sourceLineNo">674</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.674"></a>
+<span class="sourceLineNo">675</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.675"></a>
+<span class="sourceLineNo">676</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.676"></a>
+<span class="sourceLineNo">677</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.677"></a>
+<span class="sourceLineNo">678</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.678"></a>
+<span class="sourceLineNo">679</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>            }<a name="line.680"></a>
+<span class="sourceLineNo">681</span>          }<a name="line.681"></a>
+<span class="sourceLineNo">682</span><a name="line.682"></a>
+<span class="sourceLineNo">683</span>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.683"></a>
+<span class="sourceLineNo">684</span>          hdfsBlocksDistribution.add(distro);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.686"></a>
+<span class="sourceLineNo">687</span>          }<a name="line.687"></a>
+<span class="sourceLineNo">688</span>        }<a name="line.688"></a>
+<span class="sourceLineNo">689</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.689"></a>
+<span class="sourceLineNo">690</span>            regionServer.getServerName().getHostname());<a name="line.690"></a>
+<span class="sourceLineNo">691</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.693"></a>
+<span class="sourceLineNo">694</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.694"></a>
+<span class="sourceLineNo">695</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.695"></a>
+<span class="sourceLineNo">696</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.696"></a>
+<span class="sourceLineNo">697</span><a name="line.697"></a>
+<span class="sourceLineNo">698</span>        // Compute the number of requests per second<a name="line.698"></a>
+<span class="sourceLineNo">699</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.699"></a>
+<span class="sourceLineNo">700</span><a name="line.700"></a>
+<span class="sourceLineNo">701</span>        // assume that it took PERIOD seconds to start the executor.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>        // this is a guess but it's a pretty good one.<a name="line.702"></a>
+<span class="sourceLineNo">703</span>        if (lastRan == 0) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>          lastRan = currentTime - period;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>        }<a name="line.705"></a>
+<span class="sourceLineNo">706</span>        // If we've time traveled keep the last requests per second.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>        if ((currentTime - lastRan) &gt; 0) {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>          long currentRequestCount = getTotalRequestCount();<a name="line.708"></a>
+<span class="sourceLineNo">709</span>          requestsPerSecond = (currentRequestCount - lastRequestCount) /<a name="line.709"></a>
+<span class="sourceLineNo">710</span>              ((currentTime - lastRan) / 1000.0);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>          lastRequestCount = currentRequestCount;<a name="line.711"></a>
+<span class="sourceLineNo">712</span>        }<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        lastRan = currentTime;<a name="line.713"></a>
+<span class="sourceLineNo">714</span><a name="line.714"></a>
+<span class="sourceLineNo">715</span>        WALProvider provider = regionServer.walFactory.getWALProvider();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        WALProvider metaProvider = regionServer.walFactory.getMetaWALProvider();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>        numWALFiles = (provider == null ? 0 : provider.getNumLogFiles()) +<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            (metaProvider == null ? 0 : metaProvider.getNumLogFiles());<a name="line.718"></a>
+<span class="sourceLineNo">719</span>        walFileSize = (provider == null ? 0 : provider.getLogFileSize()) +<a name="line.719"></a>
+<span class="sourceLineNo">720</span>            (provider == null ? 0 : provider.getLogFileSize());<a name="line.720"></a>
+<span class="sourceLineNo">721</span>        // Copy over computed values so that no thread sees half computed values.<a name="line.721"></a>
+<span class="sourceLineNo">722</span>        numStores = tempNumStores;<a name="line.722"></a>
+<span class="sourceLineNo">723</span>        numStoreFiles = tempNumStoreFiles;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>        memstoreSize = tempMemstoreSize;<a name="line.724"></a>
+<span class="sourceLineNo">725</span>        storeFileSize = tempStoreFileSize;<a name="line.725"></a>
+<span class="sourceLineNo">726</span>        readRequestsCount = tempReadRequestsCount;<a name="line.726"></a>
+<span class="sourceLineNo">727</span>        filteredReadRequestsCount = tempFilteredReadRequestsCount;<a name="line.727"></a>
+<span class="sourceLineNo">728</span>        writeRequestsCount = tempWriteRequestsCount;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>        checkAndMutateChecksFailed = tempCheckAndMutateChecksFailed;<a name="line.729"></a>
+<span class="sourceLineNo">730</span>        checkAndMutateChecksPassed = tempCheckAndMutateChecksPassed;<a name="line.730"></a>
+<span class="sourceLineNo">731</span>        storefileIndexSize = tempStorefileIndexSize;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>        totalStaticIndexSize = tempTotalStaticIndexSize;<a name="line.732"></a>
+<span class="sourceLineNo">733</span>        totalStaticBloomSize = tempTotalStaticBloomSize;<a name="line.733"></a>
+<span class="sourceLineNo">734</span>        numMutationsWithoutWAL = tempNumMutationsWithoutWAL;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>        dataInMemoryWithoutWAL = tempDataInMemoryWithoutWAL;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>        percentFileLocal = tempPercentFileLocal;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>        percentFileLocalSecondaryRegions = tempPercentFileLocalSecondaryRegions;<a name="line.737"></a>
+<span class="sourceLineNo">738</span>        flushedCellsCount = tempFlushedCellsCount;<a name="line.738"></a>
+<span class="sourceLineNo">739</span>        compactedCellsCount = tempCompactedCellsCount;<a name="line.739"></a>
+<span class="sourceLineNo">740</span>        majorCompactedCellsCount = tempMajorCompactedCellsCount;<a name="line.740"></a>
+<span class="sourceLineNo">741</span>        flushedCellsSize = tempFlushedCellsSize;<a name="line.741"></a>
+<span class="sourceLineNo">742</span>        compactedCellsSize = tempCompactedCellsSize;<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        majorCompactedCellsSize = tempMajorCompactedCellsSize;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>        cellsCountCompactedToMob = tempCellsCountCompactedToMob;<a name="line.744"></a>
+<span class="sourceLineNo">745</span>        cellsCountCompactedFromMob = tempCellsCountCompactedFromMob;<a name="line.745"></a>
+<span class="sourceLineNo">746</span>        cellsSizeCompactedToMob = tempCellsSizeCompactedToMob;<a name="line.746"></a>
+<span class="sourceLineNo">747</span>        cellsSizeCompactedFromMob = tempCellsSizeCompactedFromMob;<a name="line.747"></a>
+<span class="sourceLineNo">748</span>        mobFlushCount = tempMobFlushCount;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>        mobFlushedCellsCount = tempMobFlushedCellsCount;<a name="line.749"></a>
+<span class="sourceLineNo">750</span>        mobFlushedCellsSize = tempMobFlushedCellsSize;<a name="line.750"></a>
+<span class="sourceLineNo">751</span>        mobScanCellsCount = tempMobScanCellsCount;<a name="line.751"></a>
+<span class="sourceLineNo">752</span>        mobScanCellsSize = tempMobScanCellsSize;<a name="line.752"></a>
+<span class="sourceLineNo">753</span>        mobFileCacheAccessCount = mobFileCache.getAccessCount();<a name="line.753"></a>
+<span class="sourceLineNo">754</span>        mobFileCacheMissCount = mobFileCache.getMissCount();<a name="line.754"></a>
+<span class="sourceLineNo">755</span>        mobFileCacheHitRatio = Double.<a name="line.755"></a>
+<span class="sourceLineNo">756</span>            isNaN(mobFileCache.getHitRatio())?0:mobFileCache.getHitRatio();<a name="line.756"></a>
+<span class="sourceLineNo">757</span>        mobFileCacheEvictedCount = mobFileCache.getEvictedFileCount();<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        mobFileCacheCount = mobFileCache.getCacheSize();<a name="line.758"></a>
+<span class="sourceLineNo">759</span>        blockedRequestsCount = tempBlockedRequestsCount;<a name="line.759"></a>
+<span class="sourceLineNo">760</span>      } catch (Throwable e) {<a name="line.760"></a>
+<span class="sourceLineNo">761</span>        LOG.warn("Caught exception! Will suppress and retry.", e);<a name="line.761"></a>
+<span class="sourceLineNo">762</span>      }<a name="line.762"></a>
+<span class="sourceLineNo">763</span>    }<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>  @Override<a name="line.766"></a>
+<span class="sourceLineNo">767</span>  public long getHedgedReadOps() {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadOps();<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>  @Override<a name="line.771"></a>
+<span class="sourceLineNo">772</span>  public long getHedgedReadWins() {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadWins();<a name="line.773"></a>
+<span class="sourceLineNo">774</span>  }<a name="line.774"></a>
+<span class="sourceLineNo">775</span><a name="line.775"></a>
+<span class="sourceLineNo">776</span>  @Override<a name="line.776"></a>
+<span class="sourceLineNo">777</span>  public long getBlockedRequestsCount() {<a name="line.777"></a>
+<span class="sourceLineNo">778</span>    return blockedRequestsCount;<a name="line.778"></a>
+<span class="sourceLineNo">779</span>  }<a name="line.779"></a>
+<span class="sourceLineNo">780</span>}<a name="line.780"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306</span>            co

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sour

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
index b9f3a92..412b52a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegionServer.html
@@ -2339,1090 +2339,1094 @@
 <span class="sourceLineNo">2331</span>    RegionServerStartupResponse result = null;<a name="line.2331"></a>
 <span class="sourceLineNo">2332</span>    try {<a name="line.2332"></a>
 <span class="sourceLineNo">2333</span>      rpcServices.requestCount.set(0);<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>      int port = rpcServices.isa.getPort();<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span>      }<a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      request.setPort(port);<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>      request.setServerStartCode(this.startcode);<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>      request.setServerCurrentTime(now);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>    } catch (ServiceException se) {<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>        // Re-throw IOE will cause RS to abort<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>        throw ioe;<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>        LOG.debug("Master is not running yet");<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>      } else {<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>        LOG.warn("error telling master we are up", se);<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>      }<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>      rssStub = null;<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>    }<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>    return result;<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>  }<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span><a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>  @Override<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>    try {<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      if (rss == null) { // Try to connect one more time<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>        createRegionServerStatusStub();<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>        rss = rssStub;<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>        if (rss == null) {<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>          // Still no luck, we tried<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>              .build();<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>        }<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      }<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>    } catch (ServiceException e) {<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>          .build();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>  }<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span><a name="line.2388"></a>
-<span class="sourceLineNo">2389</span>  /**<a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>   * Closes all regions.  Called on our way out.<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * while this method runs.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   */<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>    closeUserRegions(abort);<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>    closeMetaTableRegions(abort);<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>  }<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span><a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  /**<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span>   * Close meta region if we carry it<a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>   * @param abort Whether we're running an abort.<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   */<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>    Region meta = null;<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>    this.lock.writeLock().lock();<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    try {<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>        if (hri.isMetaRegion()) {<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span>          meta = e.getValue();<a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>        }<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>        if (meta != null) break;<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      }<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span>    } finally {<a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      this.lock.writeLock().unlock();<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    }<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>  }<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span><a name="line.2419"></a>
-<span class="sourceLineNo">2420</span>  /**<a name="line.2420"></a>
-<span class="sourceLineNo">2421</span>   * Schedule closes on all user regions.<a name="line.2421"></a>
-<span class="sourceLineNo">2422</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2422"></a>
-<span class="sourceLineNo">2423</span>   * that are already closed or that are closing.<a name="line.2423"></a>
-<span class="sourceLineNo">2424</span>   * @param abort Whether we're running an abort.<a name="line.2424"></a>
-<span class="sourceLineNo">2425</span>   */<a name="line.2425"></a>
-<span class="sourceLineNo">2426</span>  void closeUserRegions(final boolean abort) {<a name="line.2426"></a>
-<span class="sourceLineNo">2427</span>    this.lock.writeLock().lock();<a name="line.2427"></a>
-<span class="sourceLineNo">2428</span>    try {<a name="line.2428"></a>
-<span class="sourceLineNo">2429</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2429"></a>
-<span class="sourceLineNo">2430</span>        Region r = e.getValue();<a name="line.2430"></a>
-<span class="sourceLineNo">2431</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2431"></a>
-<span class="sourceLineNo">2432</span>          // Don't update zk with this close transition; pass false.<a name="line.2432"></a>
-<span class="sourceLineNo">2433</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2433"></a>
-<span class="sourceLineNo">2434</span>        }<a name="line.2434"></a>
-<span class="sourceLineNo">2435</span>      }<a name="line.2435"></a>
-<span class="sourceLineNo">2436</span>    } finally {<a name="line.2436"></a>
-<span class="sourceLineNo">2437</span>      this.lock.writeLock().unlock();<a name="line.2437"></a>
-<span class="sourceLineNo">2438</span>    }<a name="line.2438"></a>
-<span class="sourceLineNo">2439</span>  }<a name="line.2439"></a>
-<span class="sourceLineNo">2440</span><a name="line.2440"></a>
-<span class="sourceLineNo">2441</span>  /** @return the info server */<a name="line.2441"></a>
-<span class="sourceLineNo">2442</span>  public InfoServer getInfoServer() {<a name="line.2442"></a>
-<span class="sourceLineNo">2443</span>    return infoServer;<a name="line.2443"></a>
-<span class="sourceLineNo">2444</span>  }<a name="line.2444"></a>
-<span class="sourceLineNo">2445</span><a name="line.2445"></a>
-<span class="sourceLineNo">2446</span>  /**<a name="line.2446"></a>
-<span class="sourceLineNo">2447</span>   * @return true if a stop has been requested.<a name="line.2447"></a>
-<span class="sourceLineNo">2448</span>   */<a name="line.2448"></a>
-<span class="sourceLineNo">2449</span>  @Override<a name="line.2449"></a>
-<span class="sourceLineNo">2450</span>  public boolean isStopped() {<a name="line.2450"></a>
-<span class="sourceLineNo">2451</span>    return this.stopped;<a name="line.2451"></a>
-<span class="sourceLineNo">2452</span>  }<a name="line.2452"></a>
-<span class="sourceLineNo">2453</span><a name="line.2453"></a>
-<span class="sourceLineNo">2454</span>  @Override<a name="line.2454"></a>
-<span class="sourceLineNo">2455</span>  public boolean isStopping() {<a name="line.2455"></a>
-<span class="sourceLineNo">2456</span>    return this.stopping;<a name="line.2456"></a>
-<span class="sourceLineNo">2457</span>  }<a name="line.2457"></a>
-<span class="sourceLineNo">2458</span><a name="line.2458"></a>
-<span class="sourceLineNo">2459</span>  @Override<a name="line.2459"></a>
-<span class="sourceLineNo">2460</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2460"></a>
-<span class="sourceLineNo">2461</span>    return this.recoveringRegions;<a name="line.2461"></a>
-<span class="sourceLineNo">2462</span>  }<a name="line.2462"></a>
-<span class="sourceLineNo">2463</span><a name="line.2463"></a>
-<span class="sourceLineNo">2464</span>  /**<a name="line.2464"></a>
-<span class="sourceLineNo">2465</span>   *<a name="line.2465"></a>
-<span class="sourceLineNo">2466</span>   * @return the configuration<a name="line.2466"></a>
-<span class="sourceLineNo">2467</span>   */<a name="line.2467"></a>
-<span class="sourceLineNo">2468</span>  @Override<a name="line.2468"></a>
-<span class="sourceLineNo">2469</span>  public Configuration getConfiguration() {<a name="line.2469"></a>
-<span class="sourceLineNo">2470</span>    return conf;<a name="line.2470"></a>
-<span class="sourceLineNo">2471</span>  }<a name="line.2471"></a>
-<span class="sourceLineNo">2472</span><a name="line.2472"></a>
-<span class="sourceLineNo">2473</span>  /** @return the write lock for the server */<a name="line.2473"></a>
-<span class="sourceLineNo">2474</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2474"></a>
-<span class="sourceLineNo">2475</span>    return lock.writeLock();<a name="line.2475"></a>
-<span class="sourceLineNo">2476</span>  }<a name="line.2476"></a>
-<span class="sourceLineNo">2477</span><a name="line.2477"></a>
-<span class="sourceLineNo">2478</span>  public int getNumberOfOnlineRegions() {<a name="line.2478"></a>
-<span class="sourceLineNo">2479</span>    return this.onlineRegions.size();<a name="line.2479"></a>
+<span class="sourceLineNo">2334</span>      rpcServices.rpcGetRequestCount.set(0);<a name="line.2334"></a>
+<span class="sourceLineNo">2335</span>      rpcServices.rpcScanRequestCount.set(0);<a name="line.2335"></a>
+<span class="sourceLineNo">2336</span>      rpcServices.rpcMultiRequestCount.set(0);<a name="line.2336"></a>
+<span class="sourceLineNo">2337</span>      rpcServices.rpcMutateRequestCount.set(0);<a name="line.2337"></a>
+<span class="sourceLineNo">2338</span>      LOG.info("reportForDuty to master=" + masterServerName + " with port="<a name="line.2338"></a>
+<span class="sourceLineNo">2339</span>        + rpcServices.isa.getPort() + ", startcode=" + this.startcode);<a name="line.2339"></a>
+<span class="sourceLineNo">2340</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.2340"></a>
+<span class="sourceLineNo">2341</span>      int port = rpcServices.isa.getPort();<a name="line.2341"></a>
+<span class="sourceLineNo">2342</span>      RegionServerStartupRequest.Builder request = RegionServerStartupRequest.newBuilder();<a name="line.2342"></a>
+<span class="sourceLineNo">2343</span>      if (shouldUseThisHostnameInstead()) {<a name="line.2343"></a>
+<span class="sourceLineNo">2344</span>        request.setUseThisHostnameInstead(useThisHostnameInstead);<a name="line.2344"></a>
+<span class="sourceLineNo">2345</span>      }<a name="line.2345"></a>
+<span class="sourceLineNo">2346</span>      request.setPort(port);<a name="line.2346"></a>
+<span class="sourceLineNo">2347</span>      request.setServerStartCode(this.startcode);<a name="line.2347"></a>
+<span class="sourceLineNo">2348</span>      request.setServerCurrentTime(now);<a name="line.2348"></a>
+<span class="sourceLineNo">2349</span>      result = this.rssStub.regionServerStartup(null, request.build());<a name="line.2349"></a>
+<span class="sourceLineNo">2350</span>    } catch (ServiceException se) {<a name="line.2350"></a>
+<span class="sourceLineNo">2351</span>      IOException ioe = ProtobufUtil.getRemoteException(se);<a name="line.2351"></a>
+<span class="sourceLineNo">2352</span>      if (ioe instanceof ClockOutOfSyncException) {<a name="line.2352"></a>
+<span class="sourceLineNo">2353</span>        LOG.fatal("Master rejected startup because clock is out of sync", ioe);<a name="line.2353"></a>
+<span class="sourceLineNo">2354</span>        // Re-throw IOE will cause RS to abort<a name="line.2354"></a>
+<span class="sourceLineNo">2355</span>        throw ioe;<a name="line.2355"></a>
+<span class="sourceLineNo">2356</span>      } else if (ioe instanceof ServerNotRunningYetException) {<a name="line.2356"></a>
+<span class="sourceLineNo">2357</span>        LOG.debug("Master is not running yet");<a name="line.2357"></a>
+<span class="sourceLineNo">2358</span>      } else {<a name="line.2358"></a>
+<span class="sourceLineNo">2359</span>        LOG.warn("error telling master we are up", se);<a name="line.2359"></a>
+<span class="sourceLineNo">2360</span>      }<a name="line.2360"></a>
+<span class="sourceLineNo">2361</span>      rssStub = null;<a name="line.2361"></a>
+<span class="sourceLineNo">2362</span>    }<a name="line.2362"></a>
+<span class="sourceLineNo">2363</span>    return result;<a name="line.2363"></a>
+<span class="sourceLineNo">2364</span>  }<a name="line.2364"></a>
+<span class="sourceLineNo">2365</span><a name="line.2365"></a>
+<span class="sourceLineNo">2366</span>  @Override<a name="line.2366"></a>
+<span class="sourceLineNo">2367</span>  public RegionStoreSequenceIds getLastSequenceId(byte[] encodedRegionName) {<a name="line.2367"></a>
+<span class="sourceLineNo">2368</span>    try {<a name="line.2368"></a>
+<span class="sourceLineNo">2369</span>      GetLastFlushedSequenceIdRequest req =<a name="line.2369"></a>
+<span class="sourceLineNo">2370</span>          RequestConverter.buildGetLastFlushedSequenceIdRequest(encodedRegionName);<a name="line.2370"></a>
+<span class="sourceLineNo">2371</span>      RegionServerStatusService.BlockingInterface rss = rssStub;<a name="line.2371"></a>
+<span class="sourceLineNo">2372</span>      if (rss == null) { // Try to connect one more time<a name="line.2372"></a>
+<span class="sourceLineNo">2373</span>        createRegionServerStatusStub();<a name="line.2373"></a>
+<span class="sourceLineNo">2374</span>        rss = rssStub;<a name="line.2374"></a>
+<span class="sourceLineNo">2375</span>        if (rss == null) {<a name="line.2375"></a>
+<span class="sourceLineNo">2376</span>          // Still no luck, we tried<a name="line.2376"></a>
+<span class="sourceLineNo">2377</span>          LOG.warn("Unable to connect to the master to check " + "the last flushed sequence id");<a name="line.2377"></a>
+<span class="sourceLineNo">2378</span>          return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2378"></a>
+<span class="sourceLineNo">2379</span>              .build();<a name="line.2379"></a>
+<span class="sourceLineNo">2380</span>        }<a name="line.2380"></a>
+<span class="sourceLineNo">2381</span>      }<a name="line.2381"></a>
+<span class="sourceLineNo">2382</span>      GetLastFlushedSequenceIdResponse resp = rss.getLastFlushedSequenceId(null, req);<a name="line.2382"></a>
+<span class="sourceLineNo">2383</span>      return RegionStoreSequenceIds.newBuilder()<a name="line.2383"></a>
+<span class="sourceLineNo">2384</span>          .setLastFlushedSequenceId(resp.getLastFlushedSequenceId())<a name="line.2384"></a>
+<span class="sourceLineNo">2385</span>          .addAllStoreSequenceId(resp.getStoreLastFlushedSequenceIdList()).build();<a name="line.2385"></a>
+<span class="sourceLineNo">2386</span>    } catch (ServiceException e) {<a name="line.2386"></a>
+<span class="sourceLineNo">2387</span>      LOG.warn("Unable to connect to the master to check the last flushed sequence id", e);<a name="line.2387"></a>
+<span class="sourceLineNo">2388</span>      return RegionStoreSequenceIds.newBuilder().setLastFlushedSequenceId(HConstants.NO_SEQNUM)<a name="line.2388"></a>
+<span class="sourceLineNo">2389</span>          .build();<a name="line.2389"></a>
+<span class="sourceLineNo">2390</span>    }<a name="line.2390"></a>
+<span class="sourceLineNo">2391</span>  }<a name="line.2391"></a>
+<span class="sourceLineNo">2392</span><a name="line.2392"></a>
+<span class="sourceLineNo">2393</span>  /**<a name="line.2393"></a>
+<span class="sourceLineNo">2394</span>   * Closes all regions.  Called on our way out.<a name="line.2394"></a>
+<span class="sourceLineNo">2395</span>   * Assumes that its not possible for new regions to be added to onlineRegions<a name="line.2395"></a>
+<span class="sourceLineNo">2396</span>   * while this method runs.<a name="line.2396"></a>
+<span class="sourceLineNo">2397</span>   */<a name="line.2397"></a>
+<span class="sourceLineNo">2398</span>  protected void closeAllRegions(final boolean abort) {<a name="line.2398"></a>
+<span class="sourceLineNo">2399</span>    closeUserRegions(abort);<a name="line.2399"></a>
+<span class="sourceLineNo">2400</span>    closeMetaTableRegions(abort);<a name="line.2400"></a>
+<span class="sourceLineNo">2401</span>  }<a name="line.2401"></a>
+<span class="sourceLineNo">2402</span><a name="line.2402"></a>
+<span class="sourceLineNo">2403</span>  /**<a name="line.2403"></a>
+<span class="sourceLineNo">2404</span>   * Close meta region if we carry it<a name="line.2404"></a>
+<span class="sourceLineNo">2405</span>   * @param abort Whether we're running an abort.<a name="line.2405"></a>
+<span class="sourceLineNo">2406</span>   */<a name="line.2406"></a>
+<span class="sourceLineNo">2407</span>  void closeMetaTableRegions(final boolean abort) {<a name="line.2407"></a>
+<span class="sourceLineNo">2408</span>    Region meta = null;<a name="line.2408"></a>
+<span class="sourceLineNo">2409</span>    this.lock.writeLock().lock();<a name="line.2409"></a>
+<span class="sourceLineNo">2410</span>    try {<a name="line.2410"></a>
+<span class="sourceLineNo">2411</span>      for (Map.Entry&lt;String, Region&gt; e: onlineRegions.entrySet()) {<a name="line.2411"></a>
+<span class="sourceLineNo">2412</span>        HRegionInfo hri = e.getValue().getRegionInfo();<a name="line.2412"></a>
+<span class="sourceLineNo">2413</span>        if (hri.isMetaRegion()) {<a name="line.2413"></a>
+<span class="sourceLineNo">2414</span>          meta = e.getValue();<a name="line.2414"></a>
+<span class="sourceLineNo">2415</span>        }<a name="line.2415"></a>
+<span class="sourceLineNo">2416</span>        if (meta != null) break;<a name="line.2416"></a>
+<span class="sourceLineNo">2417</span>      }<a name="line.2417"></a>
+<span class="sourceLineNo">2418</span>    } finally {<a name="line.2418"></a>
+<span class="sourceLineNo">2419</span>      this.lock.writeLock().unlock();<a name="line.2419"></a>
+<span class="sourceLineNo">2420</span>    }<a name="line.2420"></a>
+<span class="sourceLineNo">2421</span>    if (meta != null) closeRegionIgnoreErrors(meta.getRegionInfo(), abort);<a name="line.2421"></a>
+<span class="sourceLineNo">2422</span>  }<a name="line.2422"></a>
+<span class="sourceLineNo">2423</span><a name="line.2423"></a>
+<span class="sourceLineNo">2424</span>  /**<a name="line.2424"></a>
+<span class="sourceLineNo">2425</span>   * Schedule closes on all user regions.<a name="line.2425"></a>
+<span class="sourceLineNo">2426</span>   * Should be safe calling multiple times because it wont' close regions<a name="line.2426"></a>
+<span class="sourceLineNo">2427</span>   * that are already closed or that are closing.<a name="line.2427"></a>
+<span class="sourceLineNo">2428</span>   * @param abort Whether we're running an abort.<a name="line.2428"></a>
+<span class="sourceLineNo">2429</span>   */<a name="line.2429"></a>
+<span class="sourceLineNo">2430</span>  void closeUserRegions(final boolean abort) {<a name="line.2430"></a>
+<span class="sourceLineNo">2431</span>    this.lock.writeLock().lock();<a name="line.2431"></a>
+<span class="sourceLineNo">2432</span>    try {<a name="line.2432"></a>
+<span class="sourceLineNo">2433</span>      for (Map.Entry&lt;String, Region&gt; e: this.onlineRegions.entrySet()) {<a name="line.2433"></a>
+<span class="sourceLineNo">2434</span>        Region r = e.getValue();<a name="line.2434"></a>
+<span class="sourceLineNo">2435</span>        if (!r.getRegionInfo().isMetaTable() &amp;&amp; r.isAvailable()) {<a name="line.2435"></a>
+<span class="sourceLineNo">2436</span>          // Don't update zk with this close transition; pass false.<a name="line.2436"></a>
+<span class="sourceLineNo">2437</span>          closeRegionIgnoreErrors(r.getRegionInfo(), abort);<a name="line.2437"></a>
+<span class="sourceLineNo">2438</span>        }<a name="line.2438"></a>
+<span class="sourceLineNo">2439</span>      }<a name="line.2439"></a>
+<span class="sourceLineNo">2440</span>    } finally {<a name="line.2440"></a>
+<span class="sourceLineNo">2441</span>      this.lock.writeLock().unlock();<a name="line.2441"></a>
+<span class="sourceLineNo">2442</span>    }<a name="line.2442"></a>
+<span class="sourceLineNo">2443</span>  }<a name="line.2443"></a>
+<span class="sourceLineNo">2444</span><a name="line.2444"></a>
+<span class="sourceLineNo">2445</span>  /** @return the info server */<a name="line.2445"></a>
+<span class="sourceLineNo">2446</span>  public InfoServer getInfoServer() {<a name="line.2446"></a>
+<span class="sourceLineNo">2447</span>    return infoServer;<a name="line.2447"></a>
+<span class="sourceLineNo">2448</span>  }<a name="line.2448"></a>
+<span class="sourceLineNo">2449</span><a name="line.2449"></a>
+<span class="sourceLineNo">2450</span>  /**<a name="line.2450"></a>
+<span class="sourceLineNo">2451</span>   * @return true if a stop has been requested.<a name="line.2451"></a>
+<span class="sourceLineNo">2452</span>   */<a name="line.2452"></a>
+<span class="sourceLineNo">2453</span>  @Override<a name="line.2453"></a>
+<span class="sourceLineNo">2454</span>  public boolean isStopped() {<a name="line.2454"></a>
+<span class="sourceLineNo">2455</span>    return this.stopped;<a name="line.2455"></a>
+<span class="sourceLineNo">2456</span>  }<a name="line.2456"></a>
+<span class="sourceLineNo">2457</span><a name="line.2457"></a>
+<span class="sourceLineNo">2458</span>  @Override<a name="line.2458"></a>
+<span class="sourceLineNo">2459</span>  public boolean isStopping() {<a name="line.2459"></a>
+<span class="sourceLineNo">2460</span>    return this.stopping;<a name="line.2460"></a>
+<span class="sourceLineNo">2461</span>  }<a name="line.2461"></a>
+<span class="sourceLineNo">2462</span><a name="line.2462"></a>
+<span class="sourceLineNo">2463</span>  @Override<a name="line.2463"></a>
+<span class="sourceLineNo">2464</span>  public Map&lt;String, Region&gt; getRecoveringRegions() {<a name="line.2464"></a>
+<span class="sourceLineNo">2465</span>    return this.recoveringRegions;<a name="line.2465"></a>
+<span class="sourceLineNo">2466</span>  }<a name="line.2466"></a>
+<span class="sourceLineNo">2467</span><a name="line.2467"></a>
+<span class="sourceLineNo">2468</span>  /**<a name="line.2468"></a>
+<span class="sourceLineNo">2469</span>   *<a name="line.2469"></a>
+<span class="sourceLineNo">2470</span>   * @return the configuration<a name="line.2470"></a>
+<span class="sourceLineNo">2471</span>   */<a name="line.2471"></a>
+<span class="sourceLineNo">2472</span>  @Override<a name="line.2472"></a>
+<span class="sourceLineNo">2473</span>  public Configuration getConfiguration() {<a name="line.2473"></a>
+<span class="sourceLineNo">2474</span>    return conf;<a name="line.2474"></a>
+<span class="sourceLineNo">2475</span>  }<a name="line.2475"></a>
+<span class="sourceLineNo">2476</span><a name="line.2476"></a>
+<span class="sourceLineNo">2477</span>  /** @return the write lock for the server */<a name="line.2477"></a>
+<span class="sourceLineNo">2478</span>  ReentrantReadWriteLock.WriteLock getWriteLock() {<a name="line.2478"></a>
+<span class="sourceLineNo">2479</span>    return lock.writeLock();<a name="line.2479"></a>
 <span class="sourceLineNo">2480</span>  }<a name="line.2480"></a>
 <span class="sourceLineNo">2481</span><a name="line.2481"></a>
-<span class="sourceLineNo">2482</span>  boolean isOnlineRegionsEmpty() {<a name="line.2482"></a>
-<span class="sourceLineNo">2483</span>    return this.onlineRegions.isEmpty();<a name="line.2483"></a>
+<span class="sourceLineNo">2482</span>  public int getNumberOfOnlineRegions() {<a name="line.2482"></a>
+<span class="sourceLineNo">2483</span>    return this.onlineRegions.size();<a name="line.2483"></a>
 <span class="sourceLineNo">2484</span>  }<a name="line.2484"></a>
 <span class="sourceLineNo">2485</span><a name="line.2485"></a>
-<span class="sourceLineNo">2486</span>  /**<a name="line.2486"></a>
-<span class="sourceLineNo">2487</span>   * For tests, web ui and metrics.<a name="line.2487"></a>
-<span class="sourceLineNo">2488</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2488"></a>
-<span class="sourceLineNo">2489</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2489"></a>
-<span class="sourceLineNo">2490</span>   */<a name="line.2490"></a>
-<span class="sourceLineNo">2491</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2491"></a>
-<span class="sourceLineNo">2492</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2492"></a>
-<span class="sourceLineNo">2493</span>    return Collections.unmodifiableCollection(regions);<a name="line.2493"></a>
-<span class="sourceLineNo">2494</span>  }<a name="line.2494"></a>
-<span class="sourceLineNo">2495</span><a name="line.2495"></a>
-<span class="sourceLineNo">2496</span>  @Override<a name="line.2496"></a>
-<span class="sourceLineNo">2497</span>  public void addToOnlineRegions(Region region) {<a name="line.2497"></a>
-<span class="sourceLineNo">2498</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2498"></a>
-<span class="sourceLineNo">2499</span>    configurationManager.registerObserver(region);<a name="line.2499"></a>
-<span class="sourceLineNo">2500</span>  }<a name="line.2500"></a>
-<span class="sourceLineNo">2501</span><a name="line.2501"></a>
-<span class="sourceLineNo">2502</span>  /**<a name="line.2502"></a>
-<span class="sourceLineNo">2503</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2503"></a>
-<span class="sourceLineNo">2504</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2504"></a>
-<span class="sourceLineNo">2505</span>   * may NOT return all regions.<a name="line.2505"></a>
-<span class="sourceLineNo">2506</span>   */<a name="line.2506"></a>
-<span class="sourceLineNo">2507</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2507"></a>
-<span class="sourceLineNo">2508</span>    // we'll sort the regions in reverse<a name="line.2508"></a>
-<span class="sourceLineNo">2509</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2509"></a>
-<span class="sourceLineNo">2510</span>        new Comparator&lt;Long&gt;() {<a name="line.2510"></a>
-<span class="sourceLineNo">2511</span>          @Override<a name="line.2511"></a>
-<span class="sourceLineNo">2512</span>          public int compare(Long a, Long b) {<a name="line.2512"></a>
-<span class="sourceLineNo">2513</span>            return -1 * a.compareTo(b);<a name="line.2513"></a>
-<span class="sourceLineNo">2514</span>          }<a name="line.2514"></a>
-<span class="sourceLineNo">2515</span>        });<a name="line.2515"></a>
-<span class="sourceLineNo">2516</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2516"></a>
-<span class="sourceLineNo">2517</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2517"></a>
-<span class="sourceLineNo">2518</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2518"></a>
-<span class="sourceLineNo">2519</span>    }<a name="line.2519"></a>
-<span class="sourceLineNo">2520</span>    return sortedRegions;<a name="line.2520"></a>
-<span class="sourceLineNo">2521</span>  }<a name="line.2521"></a>
-<span class="sourceLineNo">2522</span><a name="line.2522"></a>
-<span class="sourceLineNo">2523</span>  /**<a name="line.2523"></a>
-<span class="sourceLineNo">2524</span>   * @return time stamp in millis of when this region server was started<a name="line.2524"></a>
-<span class="sourceLineNo">2525</span>   */<a name="line.2525"></a>
-<span class="sourceLineNo">2526</span>  public long getStartcode() {<a name="line.2526"></a>
-<span class="sourceLineNo">2527</span>    return this.startcode;<a name="line.2527"></a>
-<span class="sourceLineNo">2528</span>  }<a name="line.2528"></a>
-<span class="sourceLineNo">2529</span><a name="line.2529"></a>
-<span class="sourceLineNo">2530</span>  /** @return reference to FlushRequester */<a name="line.2530"></a>
-<span class="sourceLineNo">2531</span>  @Override<a name="line.2531"></a>
-<span class="sourceLineNo">2532</span>  public FlushRequester getFlushRequester() {<a name="line.2532"></a>
-<span class="sourceLineNo">2533</span>    return this.cacheFlusher;<a name="line.2533"></a>
-<span class="sourceLineNo">2534</span>  }<a name="line.2534"></a>
-<span class="sourceLineNo">2535</span><a name="line.2535"></a>
-<span class="sourceLineNo">2536</span>  /**<a name="line.2536"></a>
-<span class="sourceLineNo">2537</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2537"></a>
-<span class="sourceLineNo">2538</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2538"></a>
-<span class="sourceLineNo">2539</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2539"></a>
-<span class="sourceLineNo">2540</span>   * the first N regions being served regardless of load.)<a name="line.2540"></a>
-<span class="sourceLineNo">2541</span>   */<a name="line.2541"></a>
-<span class="sourceLineNo">2542</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2542"></a>
-<span class="sourceLineNo">2543</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2543"></a>
-<span class="sourceLineNo">2544</span>    for (Region r : onlineRegions.values()) {<a name="line.2544"></a>
-<span class="sourceLineNo">2545</span>      if (!r.isAvailable()) {<a name="line.2545"></a>
-<span class="sourceLineNo">2546</span>        continue;<a name="line.2546"></a>
-<span class="sourceLineNo">2547</span>      }<a name="line.2547"></a>
-<span class="sourceLineNo">2548</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2548"></a>
-<span class="sourceLineNo">2549</span>        regions.add(r.getRegionInfo());<a name="line.2549"></a>
-<span class="sourceLineNo">2550</span>      } else {<a name="line.2550"></a>
-<span class="sourceLineNo">2551</span>        break;<a name="line.2551"></a>
-<span class="sourceLineNo">2552</span>      }<a name="line.2552"></a>
-<span class="sourceLineNo">2553</span>    }<a name="line.2553"></a>
-<span class="sourceLineNo">2554</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2554"></a>
-<span class="sourceLineNo">2555</span>  }<a name="line.2555"></a>
-<span class="sourceLineNo">2556</span><a name="line.2556"></a>
-<span class="sourceLineNo">2557</span>  @Override<a name="line.2557"></a>
-<span class="sourceLineNo">2558</span>  public Leases getLeases() {<a name="line.2558"></a>
-<span class="sourceLineNo">2559</span>    return leases;<a name="line.2559"></a>
-<span class="sourceLineNo">2560</span>  }<a name="line.2560"></a>
-<span class="sourceLineNo">2561</span><a name="line.2561"></a>
-<span class="sourceLineNo">2562</span>  /**<a name="line.2562"></a>
-<span class="sourceLineNo">2563</span>   * @return Return the rootDir.<a name="line.2563"></a>
-<span class="sourceLineNo">2564</span>   */<a name="line.2564"></a>
-<span class="sourceLineNo">2565</span>  protected Path getRootDir() {<a name="line.2565"></a>
-<span class="sourceLineNo">2566</span>    return rootDir;<a name="line.2566"></a>
-<span class="sourceLineNo">2567</span>  }<a name="line.2567"></a>
-<span class="sourceLineNo">2568</span><a name="line.2568"></a>
-<span class="sourceLineNo">2569</span>  /**<a name="line.2569"></a>
-<span class="sourceLineNo">2570</span>   * @return Return the fs.<a name="line.2570"></a>
-<span class="sourceLineNo">2571</span>   */<a name="line.2571"></a>
-<span class="sourceLineNo">2572</span>  @Override<a name="line.2572"></a>
-<span class="sourceLineNo">2573</span>  public FileSystem getFileSystem() {<a name="line.2573"></a>
-<span class="sourceLineNo">2574</span>    return fs;<a name="line.2574"></a>
-<span class="sourceLineNo">2575</span>  }<a name="line.2575"></a>
-<span class="sourceLineNo">2576</span><a name="line.2576"></a>
-<span class="sourceLineNo">2577</span>  @Override<a name="line.2577"></a>
-<span class="sourceLineNo">2578</span>  public String toString() {<a name="line.2578"></a>
-<span class="sourceLineNo">2579</span>    return getServerName().toString();<a name="line.2579"></a>
-<span class="sourceLineNo">2580</span>  }<a name="line.2580"></a>
-<span class="sourceLineNo">2581</span><a name="line.2581"></a>
-<span class="sourceLineNo">2582</span>  /**<a name="line.2582"></a>
-<span class="sourceLineNo">2583</span>   * Interval at which threads should run<a name="line.2583"></a>
-<span class="sourceLineNo">2584</span>   *<a name="line.2584"></a>
-<span class="sourceLineNo">2585</span>   * @return the interval<a name="line.2585"></a>
-<span class="sourceLineNo">2586</span>   */<a name="line.2586"></a>
-<span class="sourceLineNo">2587</span>  public int getThreadWakeFrequency() {<a name="line.2587"></a>
-<span class="sourceLineNo">2588</span>    return threadWakeFrequency;<a name="line.2588"></a>
-<span class="sourceLineNo">2589</span>  }<a name="line.2589"></a>
-<span class="sourceLineNo">2590</span><a name="line.2590"></a>
-<span class="sourceLineNo">2591</span>  @Override<a name="line.2591"></a>
-<span class="sourceLineNo">2592</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2592"></a>
-<span class="sourceLineNo">2593</span>    return zooKeeper;<a name="line.2593"></a>
-<span class="sourceLineNo">2594</span>  }<a name="line.2594"></a>
-<span class="sourceLineNo">2595</span><a name="line.2595"></a>
-<span class="sourceLineNo">2596</span>  @Override<a name="line.2596"></a>
-<span class="sourceLineNo">2597</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2597"></a>
-<span class="sourceLineNo">2598</span>    return csm;<a name="line.2598"></a>
-<span class="sourceLineNo">2599</span>  }<a name="line.2599"></a>
-<span class="sourceLineNo">2600</span><a name="line.2600"></a>
-<span class="sourceLineNo">2601</span>  @Override<a name="line.2601"></a>
-<span class="sourceLineNo">2602</span>  public ServerName getServerName() {<a name="line.2602"></a>
-<span class="sourceLineNo">2603</span>    return serverName;<a name="line.2603"></a>
-<span class="sourceLineNo">2604</span>  }<a name="line.2604"></a>
-<span class="sourceLineNo">2605</span><a name="line.2605"></a>
-<span class="sourceLineNo">2606</span>  @Override<a name="line.2606"></a>
-<span class="sourceLineNo">2607</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2607"></a>
-<span class="sourceLineNo">2608</span>    return this.compactSplitThread;<a name="line.2608"></a>
-<span class="sourceLineNo">2609</span>  }<a name="line.2609"></a>
-<span class="sourceLineNo">2610</span><a name="line.2610"></a>
-<span class="sourceLineNo">2611</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2611"></a>
-<span class="sourceLineNo">2612</span>    return this.rsHost;<a name="line.2612"></a>
+<span class="sourceLineNo">2486</span>  boolean isOnlineRegionsEmpty() {<a name="line.2486"></a>
+<span class="sourceLineNo">2487</span>    return this.onlineRegions.isEmpty();<a name="line.2487"></a>
+<span class="sourceLineNo">2488</span>  }<a name="line.2488"></a>
+<span class="sourceLineNo">2489</span><a name="line.2489"></a>
+<span class="sourceLineNo">2490</span>  /**<a name="line.2490"></a>
+<span class="sourceLineNo">2491</span>   * For tests, web ui and metrics.<a name="line.2491"></a>
+<span class="sourceLineNo">2492</span>   * This method will only work if HRegionServer is in the same JVM as client;<a name="line.2492"></a>
+<span class="sourceLineNo">2493</span>   * HRegion cannot be serialized to cross an rpc.<a name="line.2493"></a>
+<span class="sourceLineNo">2494</span>   */<a name="line.2494"></a>
+<span class="sourceLineNo">2495</span>  public Collection&lt;Region&gt; getOnlineRegionsLocalContext() {<a name="line.2495"></a>
+<span class="sourceLineNo">2496</span>    Collection&lt;Region&gt; regions = this.onlineRegions.values();<a name="line.2496"></a>
+<span class="sourceLineNo">2497</span>    return Collections.unmodifiableCollection(regions);<a name="line.2497"></a>
+<span class="sourceLineNo">2498</span>  }<a name="line.2498"></a>
+<span class="sourceLineNo">2499</span><a name="line.2499"></a>
+<span class="sourceLineNo">2500</span>  @Override<a name="line.2500"></a>
+<span class="sourceLineNo">2501</span>  public void addToOnlineRegions(Region region) {<a name="line.2501"></a>
+<span class="sourceLineNo">2502</span>    this.onlineRegions.put(region.getRegionInfo().getEncodedName(), region);<a name="line.2502"></a>
+<span class="sourceLineNo">2503</span>    configurationManager.registerObserver(region);<a name="line.2503"></a>
+<span class="sourceLineNo">2504</span>  }<a name="line.2504"></a>
+<span class="sourceLineNo">2505</span><a name="line.2505"></a>
+<span class="sourceLineNo">2506</span>  /**<a name="line.2506"></a>
+<span class="sourceLineNo">2507</span>   * @return A new Map of online regions sorted by region size with the first entry being the<a name="line.2507"></a>
+<span class="sourceLineNo">2508</span>   * biggest.  If two regions are the same size, then the last one found wins; i.e. this method<a name="line.2508"></a>
+<span class="sourceLineNo">2509</span>   * may NOT return all regions.<a name="line.2509"></a>
+<span class="sourceLineNo">2510</span>   */<a name="line.2510"></a>
+<span class="sourceLineNo">2511</span>  SortedMap&lt;Long, Region&gt; getCopyOfOnlineRegionsSortedBySize() {<a name="line.2511"></a>
+<span class="sourceLineNo">2512</span>    // we'll sort the regions in reverse<a name="line.2512"></a>
+<span class="sourceLineNo">2513</span>    SortedMap&lt;Long, Region&gt; sortedRegions = new TreeMap&lt;Long, Region&gt;(<a name="line.2513"></a>
+<span class="sourceLineNo">2514</span>        new Comparator&lt;Long&gt;() {<a name="line.2514"></a>
+<span class="sourceLineNo">2515</span>          @Override<a name="line.2515"></a>
+<span class="sourceLineNo">2516</span>          public int compare(Long a, Long b) {<a name="line.2516"></a>
+<span class="sourceLineNo">2517</span>            return -1 * a.compareTo(b);<a name="line.2517"></a>
+<span class="sourceLineNo">2518</span>          }<a name="line.2518"></a>
+<span class="sourceLineNo">2519</span>        });<a name="line.2519"></a>
+<span class="sourceLineNo">2520</span>    // Copy over all regions. Regions are sorted by size with biggest first.<a name="line.2520"></a>
+<span class="sourceLineNo">2521</span>    for (Region region : this.onlineRegions.values()) {<a name="line.2521"></a>
+<span class="sourceLineNo">2522</span>      sortedRegions.put(region.getMemstoreSize(), region);<a name="line.2522"></a>
+<span class="sourceLineNo">2523</span>    }<a name="line.2523"></a>
+<span class="sourceLineNo">2524</span>    return sortedRegions;<a name="line.2524"></a>
+<span class="sourceLineNo">2525</span>  }<a name="line.2525"></a>
+<span class="sourceLineNo">2526</span><a name="line.2526"></a>
+<span class="sourceLineNo">2527</span>  /**<a name="line.2527"></a>
+<span class="sourceLineNo">2528</span>   * @return time stamp in millis of when this region server was started<a name="line.2528"></a>
+<span class="sourceLineNo">2529</span>   */<a name="line.2529"></a>
+<span class="sourceLineNo">2530</span>  public long getStartcode() {<a name="line.2530"></a>
+<span class="sourceLineNo">2531</span>    return this.startcode;<a name="line.2531"></a>
+<span class="sourceLineNo">2532</span>  }<a name="line.2532"></a>
+<span class="sourceLineNo">2533</span><a name="line.2533"></a>
+<span class="sourceLineNo">2534</span>  /** @return reference to FlushRequester */<a name="line.2534"></a>
+<span class="sourceLineNo">2535</span>  @Override<a name="line.2535"></a>
+<span class="sourceLineNo">2536</span>  public FlushRequester getFlushRequester() {<a name="line.2536"></a>
+<span class="sourceLineNo">2537</span>    return this.cacheFlusher;<a name="line.2537"></a>
+<span class="sourceLineNo">2538</span>  }<a name="line.2538"></a>
+<span class="sourceLineNo">2539</span><a name="line.2539"></a>
+<span class="sourceLineNo">2540</span>  /**<a name="line.2540"></a>
+<span class="sourceLineNo">2541</span>   * Get the top N most loaded regions this server is serving so we can tell the<a name="line.2541"></a>
+<span class="sourceLineNo">2542</span>   * master which regions it can reallocate if we're overloaded. TODO: actually<a name="line.2542"></a>
+<span class="sourceLineNo">2543</span>   * calculate which regions are most loaded. (Right now, we're just grabbing<a name="line.2543"></a>
+<span class="sourceLineNo">2544</span>   * the first N regions being served regardless of load.)<a name="line.2544"></a>
+<span class="sourceLineNo">2545</span>   */<a name="line.2545"></a>
+<span class="sourceLineNo">2546</span>  protected HRegionInfo[] getMostLoadedRegions() {<a name="line.2546"></a>
+<span class="sourceLineNo">2547</span>    ArrayList&lt;HRegionInfo&gt; regions = new ArrayList&lt;HRegionInfo&gt;();<a name="line.2547"></a>
+<span class="sourceLineNo">2548</span>    for (Region r : onlineRegions.values()) {<a name="line.2548"></a>
+<span class="sourceLineNo">2549</span>      if (!r.isAvailable()) {<a name="line.2549"></a>
+<span class="sourceLineNo">2550</span>        continue;<a name="line.2550"></a>
+<span class="sourceLineNo">2551</span>      }<a name="line.2551"></a>
+<span class="sourceLineNo">2552</span>      if (regions.size() &lt; numRegionsToReport) {<a name="line.2552"></a>
+<span class="sourceLineNo">2553</span>        regions.add(r.getRegionInfo());<a name="line.2553"></a>
+<span class="sourceLineNo">2554</span>      } else {<a name="line.2554"></a>
+<span class="sourceLineNo">2555</span>        break;<a name="line.2555"></a>
+<span class="sourceLineNo">2556</span>      }<a name="line.2556"></a>
+<span class="sourceLineNo">2557</span>    }<a name="line.2557"></a>
+<span class="sourceLineNo">2558</span>    return regions.toArray(new HRegionInfo[regions.size()]);<a name="line.2558"></a>
+<span class="sourceLineNo">2559</span>  }<a name="line.2559"></a>
+<span class="sourceLineNo">2560</span><a name="line.2560"></a>
+<span class="sourceLineNo">2561</span>  @Override<a name="line.2561"></a>
+<span class="sourceLineNo">2562</span>  public Leases getLeases() {<a name="line.2562"></a>
+<span class="sourceLineNo">2563</span>    return leases;<a name="line.2563"></a>
+<span class="sourceLineNo">2564</span>  }<a name="line.2564"></a>
+<span class="sourceLineNo">2565</span><a name="line.2565"></a>
+<span class="sourceLineNo">2566</span>  /**<a name="line.2566"></a>
+<span class="sourceLineNo">2567</span>   * @return Return the rootDir.<a name="line.2567"></a>
+<span class="sourceLineNo">2568</span>   */<a name="line.2568"></a>
+<span class="sourceLineNo">2569</span>  protected Path getRootDir() {<a name="line.2569"></a>
+<span class="sourceLineNo">2570</span>    return rootDir;<a name="line.2570"></a>
+<span class="sourceLineNo">2571</span>  }<a name="line.2571"></a>
+<span class="sourceLineNo">2572</span><a name="line.2572"></a>
+<span class="sourceLineNo">2573</span>  /**<a name="line.2573"></a>
+<span class="sourceLineNo">2574</span>   * @return Return the fs.<a name="line.2574"></a>
+<span class="sourceLineNo">2575</span>   */<a name="line.2575"></a>
+<span class="sourceLineNo">2576</span>  @Override<a name="line.2576"></a>
+<span class="sourceLineNo">2577</span>  public FileSystem getFileSystem() {<a name="line.2577"></a>
+<span class="sourceLineNo">2578</span>    return fs;<a name="line.2578"></a>
+<span class="sourceLineNo">2579</span>  }<a name="line.2579"></a>
+<span class="sourceLineNo">2580</span><a name="line.2580"></a>
+<span class="sourceLineNo">2581</span>  @Override<a name="line.2581"></a>
+<span class="sourceLineNo">2582</span>  public String toString() {<a name="line.2582"></a>
+<span class="sourceLineNo">2583</span>    return getServerName().toString();<a name="line.2583"></a>
+<span class="sourceLineNo">2584</span>  }<a name="line.2584"></a>
+<span class="sourceLineNo">2585</span><a name="line.2585"></a>
+<span class="sourceLineNo">2586</span>  /**<a name="line.2586"></a>
+<span class="sourceLineNo">2587</span>   * Interval at which threads should run<a name="line.2587"></a>
+<span class="sourceLineNo">2588</span>   *<a name="line.2588"></a>
+<span class="sourceLineNo">2589</span>   * @return the interval<a name="line.2589"></a>
+<span class="sourceLineNo">2590</span>   */<a name="line.2590"></a>
+<span class="sourceLineNo">2591</span>  public int getThreadWakeFrequency() {<a name="line.2591"></a>
+<span class="sourceLineNo">2592</span>    return threadWakeFrequency;<a name="line.2592"></a>
+<span class="sourceLineNo">2593</span>  }<a name="line.2593"></a>
+<span class="sourceLineNo">2594</span><a name="line.2594"></a>
+<span class="sourceLineNo">2595</span>  @Override<a name="line.2595"></a>
+<span class="sourceLineNo">2596</span>  public ZooKeeperWatcher getZooKeeper() {<a name="line.2596"></a>
+<span class="sourceLineNo">2597</span>    return zooKeeper;<a name="line.2597"></a>
+<span class="sourceLineNo">2598</span>  }<a name="line.2598"></a>
+<span class="sourceLineNo">2599</span><a name="line.2599"></a>
+<span class="sourceLineNo">2600</span>  @Override<a name="line.2600"></a>
+<span class="sourceLineNo">2601</span>  public BaseCoordinatedStateManager getCoordinatedStateManager() {<a name="line.2601"></a>
+<span class="sourceLineNo">2602</span>    return csm;<a name="line.2602"></a>
+<span class="sourceLineNo">2603</span>  }<a name="line.2603"></a>
+<span class="sourceLineNo">2604</span><a name="line.2604"></a>
+<span class="sourceLineNo">2605</span>  @Override<a name="line.2605"></a>
+<span class="sourceLineNo">2606</span>  public ServerName getServerName() {<a name="line.2606"></a>
+<span class="sourceLineNo">2607</span>    return serverName;<a name="line.2607"></a>
+<span class="sourceLineNo">2608</span>  }<a name="line.2608"></a>
+<span class="sourceLineNo">2609</span><a name="line.2609"></a>
+<span class="sourceLineNo">2610</span>  @Override<a name="line.2610"></a>
+<span class="sourceLineNo">2611</span>  public CompactionRequestor getCompactionRequester() {<a name="line.2611"></a>
+<span class="sourceLineNo">2612</span>    return this.compactSplitThread;<a name="line.2612"></a>
 <span class="sourceLineNo">2613</span>  }<a name="line.2613"></a>
 <span class="sourceLineNo">2614</span><a name="line.2614"></a>
-<span class="sourceLineNo">2615</span>  @Override<a name="line.2615"></a>
-<span class="sourceLineNo">2616</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2616"></a>
-<span class="sourceLineNo">2617</span>    return this.regionsInTransitionInRS;<a name="line.2617"></a>
-<span class="sourceLineNo">2618</span>  }<a name="line.2618"></a>
-<span class="sourceLineNo">2619</span><a name="line.2619"></a>
-<span class="sourceLineNo">2620</span>  @Override<a name="line.2620"></a>
-<span class="sourceLineNo">2621</span>  public ExecutorService getExecutorService() {<a name="line.2621"></a>
-<span class="sourceLineNo">2622</span>    return service;<a name="line.2622"></a>
-<span class="sourceLineNo">2623</span>  }<a name="line.2623"></a>
-<span class="sourceLineNo">2624</span><a name="line.2624"></a>
-<span class="sourceLineNo">2625</span>  @Override<a name="line.2625"></a>
-<span class="sourceLineNo">2626</span>  public ChoreService getChoreService() {<a name="line.2626"></a>
-<span class="sourceLineNo">2627</span>    return choreService;<a name="line.2627"></a>
-<span class="sourceLineNo">2628</span>  }<a name="line.2628"></a>
-<span class="sourceLineNo">2629</span><a name="line.2629"></a>
-<span class="sourceLineNo">2630</span>  @Override<a name="line.2630"></a>
-<span class="sourceLineNo">2631</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2631"></a>
-<span class="sourceLineNo">2632</span>    return rsQuotaManager;<a name="line.2632"></a>
-<span class="sourceLineNo">2633</span>  }<a name="line.2633"></a>
-<span class="sourceLineNo">2634</span><a name="line.2634"></a>
-<span class="sourceLineNo">2635</span>  //<a name="line.2635"></a>
-<span class="sourceLineNo">2636</span>  // Main program and support routines<a name="line.2636"></a>
-<span class="sourceLineNo">2637</span>  //<a name="line.2637"></a>
+<span class="sourceLineNo">2615</span>  public RegionServerCoprocessorHost getRegionServerCoprocessorHost(){<a name="line.2615"></a>
+<span class="sourceLineNo">2616</span>    return this.rsHost;<a name="line.2616"></a>
+<span class="sourceLineNo">2617</span>  }<a name="line.2617"></a>
+<span class="sourceLineNo">2618</span><a name="line.2618"></a>
+<span class="sourceLineNo">2619</span>  @Override<a name="line.2619"></a>
+<span class="sourceLineNo">2620</span>  public ConcurrentMap&lt;byte[], Boolean&gt; getRegionsInTransitionInRS() {<a name="line.2620"></a>
+<span class="sourceLineNo">2621</span>    return this.regionsInTransitionInRS;<a name="line.2621"></a>
+<span class="sourceLineNo">2622</span>  }<a name="line.2622"></a>
+<span class="sourceLineNo">2623</span><a name="line.2623"></a>
+<span class="sourceLineNo">2624</span>  @Override<a name="line.2624"></a>
+<span class="sourceLineNo">2625</span>  public ExecutorService getExecutorService() {<a name="line.2625"></a>
+<span class="sourceLineNo">2626</span>    return service;<a name="line.2626"></a>
+<span class="sourceLineNo">2627</span>  }<a name="line.2627"></a>
+<span class="sourceLineNo">2628</span><a name="line.2628"></a>
+<span class="sourceLineNo">2629</span>  @Override<a name="line.2629"></a>
+<span class="sourceLineNo">2630</span>  public ChoreService getChoreService() {<a name="line.2630"></a>
+<span class="sourceLineNo">2631</span>    return choreService;<a name="line.2631"></a>
+<span class="sourceLineNo">2632</span>  }<a name="line.2632"></a>
+<span class="sourceLineNo">2633</span><a name="line.2633"></a>
+<span class="sourceLineNo">2634</span>  @Override<a name="line.2634"></a>
+<span class="sourceLineNo">2635</span>  public RegionServerQuotaManager getRegionServerQuotaManager() {<a name="line.2635"></a>
+<span class="sourceLineNo">2636</span>    return rsQuotaManager;<a name="line.2636"></a>
+<span class="sourceLineNo">2637</span>  }<a name="line.2637"></a>
 <span class="sourceLineNo">2638</span><a name="line.2638"></a>
-<span class="sourceLineNo">2639</span>  /**<a name="line.2639"></a>
-<span class="sourceLineNo">2640</span>   * Load the replication service objects, if any<a name="line.2640"></a>
-<span class="sourceLineNo">2641</span>   */<a name="line.2641"></a>
-<span class="sourceLineNo">2642</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2642"></a>
-<span class="sourceLineNo">2643</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2643"></a>
-<span class="sourceLineNo">2644</span><a name="line.2644"></a>
-<span class="sourceLineNo">2645</span>    // If replication is not enabled, then return immediately.<a name="line.2645"></a>
-<span class="sourceLineNo">2646</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2646"></a>
-<span class="sourceLineNo">2647</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2647"></a>
-<span class="sourceLineNo">2648</span>      return;<a name="line.2648"></a>
-<span class="sourceLineNo">2649</span>    }<a name="line.2649"></a>
-<span class="sourceLineNo">2650</span><a name="line.2650"></a>
-<span class="sourceLineNo">2651</span>    // read in the name of the source replication class from the config file.<a name="line.2651"></a>
-<span class="sourceLineNo">2652</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2652"></a>
-<span class="sourceLineNo">2653</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2653"></a>
+<span class="sourceLineNo">2639</span>  //<a name="line.2639"></a>
+<span class="sourceLineNo">2640</span>  // Main program and support routines<a name="line.2640"></a>
+<span class="sourceLineNo">2641</span>  //<a name="line.2641"></a>
+<span class="sourceLineNo">2642</span><a name="line.2642"></a>
+<span class="sourceLineNo">2643</span>  /**<a name="line.2643"></a>
+<span class="sourceLineNo">2644</span>   * Load the replication service objects, if any<a name="line.2644"></a>
+<span class="sourceLineNo">2645</span>   */<a name="line.2645"></a>
+<span class="sourceLineNo">2646</span>  static private void createNewReplicationInstance(Configuration conf,<a name="line.2646"></a>
+<span class="sourceLineNo">2647</span>    HRegionServer server, FileSystem fs, Path logDir, Path oldLogDir) throws IOException{<a name="line.2647"></a>
+<span class="sourceLineNo">2648</span><a name="line.2648"></a>
+<span class="sourceLineNo">2649</span>    // If replication is not enabled, then return immediately.<a name="line.2649"></a>
+<span class="sourceLineNo">2650</span>    if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY,<a name="line.2650"></a>
+<span class="sourceLineNo">2651</span>        HConstants.REPLICATION_ENABLE_DEFAULT)) {<a name="line.2651"></a>
+<span class="sourceLineNo">2652</span>      return;<a name="line.2652"></a>
+<span class="sourceLineNo">2653</span>    }<a name="line.2653"></a>
 <span class="sourceLineNo">2654</span><a name="line.2654"></a>
-<span class="sourceLineNo">2655</span>    // read in the name of the sink replication class from the config file.<a name="line.2655"></a>
-<span class="sourceLineNo">2656</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2656"></a>
-<span class="sourceLineNo">2657</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
+<span class="sourceLineNo">2655</span>    // read in the name of the source replication class from the config file.<a name="line.2655"></a>
+<span class="sourceLineNo">2656</span>    String sourceClassname = conf.get(HConstants.REPLICATION_SOURCE_SERVICE_CLASSNAME,<a name="line.2656"></a>
+<span class="sourceLineNo">2657</span>                               HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2657"></a>
 <span class="sourceLineNo">2658</span><a name="line.2658"></a>
-<span class="sourceLineNo">2659</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2659"></a>
-<span class="sourceLineNo">2660</span>    // only one object.<a name="line.2660"></a>
-<span class="sourceLineNo">2661</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2661"></a>
-<span class="sourceLineNo">2662</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2662"></a>
-<span class="sourceLineNo">2663</span>                                         newReplicationInstance(sourceClassname,<a name="line.2663"></a>
-<span class="sourceLineNo">2664</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2664"></a>
-<span class="sourceLineNo">2665</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2665"></a>
-<span class="sourceLineNo">2666</span>                                         server.replicationSourceHandler;<a name="line.2666"></a>
-<span class="sourceLineNo">2667</span>    } else {<a name="line.2667"></a>
-<span class="sourceLineNo">2668</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2668"></a>
-<span class="sourceLineNo">2669</span>                                         newReplicationInstance(sourceClassname,<a name="line.2669"></a>
-<span class="sourceLineNo">2670</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2670"></a>
-<span class="sourceLineNo">2671</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2671"></a>
-<span class="sourceLineNo">2672</span>                                         newReplicationInstance(sinkClassname,<a name="line.2672"></a>
-<span class="sourceLineNo">2673</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2673"></a>
-<span class="sourceLineNo">2674</span>    }<a name="line.2674"></a>
-<span class="sourceLineNo">2675</span>  }<a name="line.2675"></a>
-<span class="sourceLineNo">2676</span><a name="line.2676"></a>
-<span class="sourceLineNo">2677</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2677"></a>
-<span class="sourceLineNo">2678</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2678"></a>
-<span class="sourceLineNo">2679</span>    Path oldLogDir) throws IOException{<a name="line.2679"></a>
+<span class="sourceLineNo">2659</span>    // read in the name of the sink replication class from the config file.<a name="line.2659"></a>
+<span class="sourceLineNo">2660</span>    String sinkClassname = conf.get(HConstants.REPLICATION_SINK_SERVICE_CLASSNAME,<a name="line.2660"></a>
+<span class="sourceLineNo">2661</span>                             HConstants.REPLICATION_SERVICE_CLASSNAME_DEFAULT);<a name="line.2661"></a>
+<span class="sourceLineNo">2662</span><a name="line.2662"></a>
+<span class="sourceLineNo">2663</span>    // If both the sink and the source class names are the same, then instantiate<a name="line.2663"></a>
+<span class="sourceLineNo">2664</span>    // only one object.<a name="line.2664"></a>
+<span class="sourceLineNo">2665</span>    if (sourceClassname.equals(sinkClassname)) {<a name="line.2665"></a>
+<span class="sourceLineNo">2666</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2666"></a>
+<span class="sourceLineNo">2667</span>                                         newReplicationInstance(sourceClassname,<a name="line.2667"></a>
+<span class="sourceLineNo">2668</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2668"></a>
+<span class="sourceLineNo">2669</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2669"></a>
+<span class="sourceLineNo">2670</span>                                         server.replicationSourceHandler;<a name="line.2670"></a>
+<span class="sourceLineNo">2671</span>    } else {<a name="line.2671"></a>
+<span class="sourceLineNo">2672</span>      server.replicationSourceHandler = (ReplicationSourceService)<a name="line.2672"></a>
+<span class="sourceLineNo">2673</span>                                         newReplicationInstance(sourceClassname,<a name="line.2673"></a>
+<span class="sourceLineNo">2674</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2674"></a>
+<span class="sourceLineNo">2675</span>      server.replicationSinkHandler = (ReplicationSinkService)<a name="line.2675"></a>
+<span class="sourceLineNo">2676</span>                                         newReplicationInstance(sinkClassname,<a name="line.2676"></a>
+<span class="sourceLineNo">2677</span>                                         conf, server, fs, logDir, oldLogDir);<a name="line.2677"></a>
+<span class="sourceLineNo">2678</span>    }<a name="line.2678"></a>
+<span class="sourceLineNo">2679</span>  }<a name="line.2679"></a>
 <span class="sourceLineNo">2680</span><a name="line.2680"></a>
-<span class="sourceLineNo">2681</span>    Class&lt;?&gt; clazz = null;<a name="line.2681"></a>
-<span class="sourceLineNo">2682</span>    try {<a name="line.2682"></a>
-<span class="sourceLineNo">2683</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2683"></a>
-<span class="sourceLineNo">2684</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2684"></a>
-<span class="sourceLineNo">2685</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2685"></a>
-<span class="sourceLineNo">2686</span>      throw new IOException("Could not find class for " + classname);<a name="line.2686"></a>
-<span class="sourceLineNo">2687</span>    }<a name="line.2687"></a>
-<span class="sourceLineNo">2688</span><a name="line.2688"></a>
-<span class="sourceLineNo">2689</span>    // create an instance of the replication object.<a name="line.2689"></a>
-<span class="sourceLineNo">2690</span>    ReplicationService service = (ReplicationService)<a name="line.2690"></a>
-<span class="sourceLineNo">2691</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2691"></a>
-<span class="sourceLineNo">2692</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2692"></a>
-<span class="sourceLineNo">2693</span>    return service;<a name="line.2693"></a>
-<span class="sourceLineNo">2694</span>  }<a name="line.2694"></a>
-<span class="sourceLineNo">2695</span><a name="line.2695"></a>
-<span class="sourceLineNo">2696</span>  /**<a name="line.2696"></a>
-<span class="sourceLineNo">2697</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2697"></a>
-<span class="sourceLineNo">2698</span>   *<a name="line.2698"></a>
-<span class="sourceLineNo">2699</span>   * @param regionServerClass<a name="line.2699"></a>
-<span class="sourceLineNo">2700</span>   * @param conf2<a name="line.2700"></a>
-<span class="sourceLineNo">2701</span>   * @return HRegionServer instance.<a name="line.2701"></a>
-<span class="sourceLineNo">2702</span>   */<a name="line.2702"></a>
-<span class="sourceLineNo">2703</span>  public static HRegionServer constructRegionServer(<a name="line.2703"></a>
-<span class="sourceLineNo">2704</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2704"></a>
-<span class="sourceLineNo">2705</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2705"></a>
-<span class="sourceLineNo">2706</span>    try {<a name="line.2706"></a>
-<span class="sourceLineNo">2707</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2707"></a>
-<span class="sourceLineNo">2708</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2708"></a>
-<span class="sourceLineNo">2709</span>      return c.newInstance(conf2, cp);<a name="line.2709"></a>
-<span class="sourceLineNo">2710</span>    } catch (Exception e) {<a name="line.2710"></a>
-<span class="sourceLineNo">2711</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2711"></a>
-<span class="sourceLineNo">2712</span>          + regionServerClass.toString(), e);<a name="line.2712"></a>
-<span class="sourceLineNo">2713</span>    }<a name="line.2713"></a>
-<span class="sourceLineNo">2714</span>  }<a name="line.2714"></a>
-<span class="sourceLineNo">2715</span><a name="line.2715"></a>
-<span class="sourceLineNo">2716</span>  /**<a name="line.2716"></a>
-<span class="sourceLineNo">2717</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2717"></a>
-<span class="sourceLineNo">2718</span>   */<a name="line.2718"></a>
-<span class="sourceLineNo">2719</span>  public static void main(String[] args) throws Exception {<a name="line.2719"></a>
-<span class="sourceLineNo">2720</span>    VersionInfo.logVersion();<a name="line.2720"></a>
-<span class="sourceLineNo">2721</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2721"></a>
-<span class="sourceLineNo">2722</span>    @SuppressWarnings("unchecked")<a name="line.2722"></a>
-<span class="sourceLineNo">2723</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2723"></a>
-<span class="sourceLineNo">2724</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2724"></a>
-<span class="sourceLineNo">2725</span><a name="line.2725"></a>
-<span class="sourceLineNo">2726</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2726"></a>
-<span class="sourceLineNo">2727</span>  }<a name="line.2727"></a>
-<span class="sourceLineNo">2728</span><a name="line.2728"></a>
-<span class="sourceLineNo">2729</span>  /**<a name="line.2729"></a>
-<span class="sourceLineNo">2730</span>   * Gets the online regions of the specified table.<a name="line.2730"></a>
-<span class="sourceLineNo">2731</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2731"></a>
-<span class="sourceLineNo">2732</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2732"></a>
-<span class="sourceLineNo">2733</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2733"></a>
-<span class="sourceLineNo">2734</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2734"></a>
-<span class="sourceLineNo">2735</span>   * all the ONLINE regions in the table.<a name="line.2735"></a>
-<span class="sourceLineNo">2736</span>   * @param tableName<a name="line.2736"></a>
-<span class="sourceLineNo">2737</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2737"></a>
-<span class="sourceLineNo">2738</span>   */<a name="line.2738"></a>
-<span class="sourceLineNo">2739</span>  @Override<a name="line.2739"></a>
-<span class="sourceLineNo">2740</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2740"></a>
-<span class="sourceLineNo">2741</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2741"></a>
-<span class="sourceLineNo">2742</span>     synchronized (this.onlineRegions) {<a name="line.2742"></a>
-<span class="sourceLineNo">2743</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2743"></a>
-<span class="sourceLineNo">2744</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2744"></a>
-<span class="sourceLineNo">2745</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2745"></a>
-<span class="sourceLineNo">2746</span>           tableRegions.add(region);<a name="line.2746"></a>
-<span class="sourceLineNo">2747</span>         }<a name="line.2747"></a>
-<span class="sourceLineNo">2748</span>       }<a name="line.2748"></a>
-<span class="sourceLineNo">2749</span>     }<a name="line.2749"></a>
-<span class="sourceLineNo">2750</span>     return tableRegions;<a name="line.2750"></a>
-<span class="sourceLineNo">2751</span>   }<a name="line.2751"></a>
-<span class="sourceLineNo">2752</span><a name="line.2752"></a>
-<span class="sourceLineNo">2753</span>  @Override<a name="line.2753"></a>
-<span class="sourceLineNo">2754</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2754"></a>
-<span class="sourceLineNo">2755</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2755"></a>
-<span class="sourceLineNo">2756</span>    synchronized (this.onlineRegions) {<a name="line.2756"></a>
-<span class="sourceLineNo">2757</span>      // Return a clone copy of the onlineRegions<a name="line.2757"></a>
-<span class="sourceLineNo">2758</span>      allRegions.addAll(onlineRegions.values());<a name="line.2758"></a>
-<span class="sourceLineNo">2759</span>    }<a name="line.2759"></a>
-<span class="sourceLineNo">2760</span>    return allRegions;<a name="line.2760"></a>
-<span class="sourceLineNo">2761</span>  }<a name="line.2761"></a>
-<span class="sourceLineNo">2762</span>  /**<a name="line.2762"></a>
-<span class="sourceLineNo">2763</span>   * Gets the online tables in this RS.<a name="line.2763"></a>
-<span class="sourceLineNo">2764</span>   * This method looks at the in-memory onlineRegions.<a name="line.2764"></a>
-<span class="sourceLineNo">2765</span>   * @return all the online tables in this RS<a name="line.2765"></a>
-<span class="sourceLineNo">2766</span>   */<a name="line.2766"></a>
-<span class="sourceLineNo">2767</span>  @Override<a name="line.2767"></a>
-<span class="sourceLineNo">2768</span>  public Set&lt;TableName&gt; getOnlineTables() {<a name="line.2768"></a>
-<span class="sourceLineNo">2769</span>    Set&lt;TableName&gt; tables = new HashSet&lt;TableName&gt;();<a name="line.2769"></a>
-<span class="sourceLineNo">2770</span>    synchronized (this.onlineRegions) {<a name="line.2770"></a>
-<span class="sourceLineNo">2771</span>      for (Region region: this.onlineRegions.values()) {<a name="line.2771"></a>
-<span class="sourceLineNo">2772</span>        tables.add(region.getTableDesc().getTableName());<a name="line.2772"></a>
-<span class="sourceLineNo">2773</span>      }<a name="line.2773"></a>
-<span class="sourceLineNo">2774</span>    }<a name="line.2774"></a>
-<span class="sourceLineNo">2775</span>    return tables;<a name="line.2775"></a>
-<span class="sourceLineNo">2776</span>  }<a name="line.2776"></a>
-<span class="sourceLineNo">2777</span><a name="line.2777"></a>
-<span class="sourceLineNo">2778</span>  // used by org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (HBASE-4070).<a name="line.2778"></a>
-<span class="sourceLineNo">2779</span>  public String[] getRegionServerCoprocessors() {<a name="line.2779"></a>
-<span class="sourceLineNo">2780</span>    TreeSet&lt;String&gt; coprocessors = new TreeSet&lt;String&gt;();<a name="line.2780"></a>
-<span class="sourceLineNo">2781</span>    try {<a name="line.2781"></a>
-<span class="sourceLineNo">2782</span>      coprocessors.addAll(getWAL(null).getCoprocessorHost().getCoprocessors());<a name="line.2782"></a>
-<span class="sourceLineNo">2783</span>    } catch (IOException exception) {<a name="line.2783"></a>
-<span class="sourceLineNo">2784</span>      LOG.warn("Exception attempting to fetch wal coprocessor information for the common wal; " +<a name="line.2784"></a>
-<span class="sourceLineNo">2785</span>          "skipping.");<a name="line.2785"></a>
-<span class="sourceLineNo">2786</span>      LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2786"></a>
-<span class="sourceLineNo">2787</span>    }<a name="line.2787"></a>
-<span class="sourceLineNo">2788</span>    Collection&lt;Region&gt; regions = getOnlineRegionsLocalContext();<a name="line.2788"></a>
-<span class="sourceLineNo">2789</span>    for (Region region: regions) {<a name="line.2789"></a>
-<span class="sourceLineNo">2790</span>      coprocessors.addAll(region.getCoprocessorHost().getCoprocessors());<a name="line.2790"></a>
-<span class="sourceLineNo">2791</span>      try {<a name="line.2791"></a>
-<span class="sourceLineNo">2792</span>        coprocessors.addAll(getWAL(region.getRegionInfo()).getCoprocessorHost().getCoprocessors());<a name="line.2792"></a>
-<span class="sourceLineNo">2793</span>      } catch (IOException exception) {<a name="line.2793"></a>
-<span class="sourceLineNo">2794</span>        LOG.warn("Exception attempting to fetch wal coprocessor information for region " + region +<a name="line.2794"></a>
-<span class="sourceLineNo">2795</span>            "; skipping.");<a name="line.2795"></a>
-<span class="sourceLineNo">2796</span>        LOG.debug("Exception details for failure to fetch wal coprocessor information.", exception);<a name="line.2796"></a>
-<span class="sourceLineNo">2797</span>      }<a name="line.2797"></a>
-<span class="sourceLineNo">2798</span>    }<a name="line.2798"></a>
-<span class="sourceLineNo">2799</span>    return coprocessors.toArray(new String[coprocessors.size()]);<a name="line.2799"></a>
-<span class="sourceLineNo">2800</span>  }<a name="line.2800"></a>
-<span class="sourceLineNo">2801</span><a name="line.2801"></a>
-<span class="sourceLineNo">2802</span>  /**<a name="line.2802"></a>
-<span class="sourceLineNo">2803</span>   * Try to close the region, logs a warning on failure but continues.<a name="line.2803"></a>
-<span class="sourceLineNo">2804</span>   * @param region Region to close<a name="line.2804"></a>
-<span class="sourceLineNo">2805</span>   */<a name="line.2805"></a>
-<span class="sourceLineNo">2806</span>  private void closeRegionIgnoreErrors(HRegionInfo region, final boolean abort) {<a name="line.2806"></a>
-<span class="sourceLineNo">2807</span>    try {<a name="line.2807"></a>
-<span class="sourceLineNo">2808</span>      if (!closeRegion(region.getEncodedName(), abort, null)) {<a name="line.2808"></a>
-<span class="sourceLineNo">2809</span>        LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2809"></a>
-<span class="sourceLineNo">2810</span>            " - ignoring and continuing");<a name="line.2810"></a>
-<span class="sourceLineNo">2811</span>      }<a name="line.2811"></a>
-<span class="sourceLineNo">2812</span>    } catch (IOException e) {<a name="line.2812"></a>
-<span class="sourceLineNo">2813</span>      LOG.warn("Failed to close " + region.getRegionNameAsString() +<a name="line.2813"></a>
-<span class="sourceLineNo">2814</span>          " - ignoring and continuing", e);<a name="line.2814"></a>
-<span class="sourceLineNo">2815</span>    }<a name="line.2815"></a>
-<span class="sourceLineNo">2816</span>  }<a name="line.2816"></a>
-<span class="sourceLineNo">2817</span><a name="line.2817"></a>
-<span class="sourceLineNo">2818</span>  /**<a name="line.2818"></a>
-<span class="sourceLineNo">2819</span>   * Close asynchronously a region, can be called from the master or internally by the regionserver<a name="line.2819"></a>
-<span class="sourceLineNo">2820</span>   * when stopping. If called from the master, the region will update the znode status.<a name="line.2820"></a>
-<span class="sourceLineNo">2821</span>   *<a name="line.2821"></a>
-<span class="sourceLineNo">2822</span>   * &lt;p&gt;<a name="line.2822"></a>
-<span class="sourceLineNo">2823</span>   * If an opening was in progress, this method will cancel it, but will not start a new close. The<a name="line.2823"></a>
-<span class="sourceLineNo">2824</span>   * coprocessors are not called in this case. A NotServingRegionException exception is thrown.<a name="line.2824"></a>
-<span class="sourceLineNo">2825</span>   * &lt;/p&gt;<a name="line.2825"></a>
-<span class="sourceLineNo">2826</span><a name="line.2826"></a>
-<span class="sourceLineNo">2827</span>   * &lt;p&gt;<a name="line.2827"></a>
-<span class="sourceLineNo">2828</span>   *   If a close was in progress, this new request will be ignored, and an exception thrown.<a name="line.2828"></a>
+<span class="sourceLineNo">2681</span>  static private ReplicationService newReplicationInstance(String classname,<a name="line.2681"></a>
+<span class="sourceLineNo">2682</span>    Configuration conf, HRegionServer server, FileSystem fs, Path logDir,<a name="line.2682"></a>
+<span class="sourceLineNo">2683</span>    Path oldLogDir) throws IOException{<a name="line.2683"></a>
+<span class="sourceLineNo">2684</span><a name="line.2684"></a>
+<span class="sourceLineNo">2685</span>    Class&lt;?&gt; clazz = null;<a name="line.2685"></a>
+<span class="sourceLineNo">2686</span>    try {<a name="line.2686"></a>
+<span class="sourceLineNo">2687</span>      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();<a name="line.2687"></a>
+<span class="sourceLineNo">2688</span>      clazz = Class.forName(classname, true, classLoader);<a name="line.2688"></a>
+<span class="sourceLineNo">2689</span>    } catch (java.lang.ClassNotFoundException nfe) {<a name="line.2689"></a>
+<span class="sourceLineNo">2690</span>      throw new IOException("Could not find class for " + classname);<a name="line.2690"></a>
+<span class="sourceLineNo">2691</span>    }<a name="line.2691"></a>
+<span class="sourceLineNo">2692</span><a name="line.2692"></a>
+<span class="sourceLineNo">2693</span>    // create an instance of the replication object.<a name="line.2693"></a>
+<span class="sourceLineNo">2694</span>    ReplicationService service = (ReplicationService)<a name="line.2694"></a>
+<span class="sourceLineNo">2695</span>                              ReflectionUtils.newInstance(clazz, conf);<a name="line.2695"></a>
+<span class="sourceLineNo">2696</span>    service.initialize(server, fs, logDir, oldLogDir);<a name="line.2696"></a>
+<span class="sourceLineNo">2697</span>    return service;<a name="line.2697"></a>
+<span class="sourceLineNo">2698</span>  }<a name="line.2698"></a>
+<span class="sourceLineNo">2699</span><a name="line.2699"></a>
+<span class="sourceLineNo">2700</span>  /**<a name="line.2700"></a>
+<span class="sourceLineNo">2701</span>   * Utility for constructing an instance of the passed HRegionServer class.<a name="line.2701"></a>
+<span class="sourceLineNo">2702</span>   *<a name="line.2702"></a>
+<span class="sourceLineNo">2703</span>   * @param regionServerClass<a name="line.2703"></a>
+<span class="sourceLineNo">2704</span>   * @param conf2<a name="line.2704"></a>
+<span class="sourceLineNo">2705</span>   * @return HRegionServer instance.<a name="line.2705"></a>
+<span class="sourceLineNo">2706</span>   */<a name="line.2706"></a>
+<span class="sourceLineNo">2707</span>  public static HRegionServer constructRegionServer(<a name="line.2707"></a>
+<span class="sourceLineNo">2708</span>      Class&lt;? extends HRegionServer&gt; regionServerClass,<a name="line.2708"></a>
+<span class="sourceLineNo">2709</span>      final Configuration conf2, CoordinatedStateManager cp) {<a name="line.2709"></a>
+<span class="sourceLineNo">2710</span>    try {<a name="line.2710"></a>
+<span class="sourceLineNo">2711</span>      Constructor&lt;? extends HRegionServer&gt; c = regionServerClass<a name="line.2711"></a>
+<span class="sourceLineNo">2712</span>          .getConstructor(Configuration.class, CoordinatedStateManager.class);<a name="line.2712"></a>
+<span class="sourceLineNo">2713</span>      return c.newInstance(conf2, cp);<a name="line.2713"></a>
+<span class="sourceLineNo">2714</span>    } catch (Exception e) {<a name="line.2714"></a>
+<span class="sourceLineNo">2715</span>      throw new RuntimeException("Failed construction of " + "Regionserver: "<a name="line.2715"></a>
+<span class="sourceLineNo">2716</span>          + regionServerClass.toString(), e);<a name="line.2716"></a>
+<span class="sourceLineNo">2717</span>    }<a name="line.2717"></a>
+<span class="sourceLineNo">2718</span>  }<a name="line.2718"></a>
+<span class="sourceLineNo">2719</span><a name="line.2719"></a>
+<span class="sourceLineNo">2720</span>  /**<a name="line.2720"></a>
+<span class="sourceLineNo">2721</span>   * @see org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine<a name="line.2721"></a>
+<span class="sourceLineNo">2722</span>   */<a name="line.2722"></a>
+<span class="sourceLineNo">2723</span>  public static void main(String[] args) throws Exception {<a name="line.2723"></a>
+<span class="sourceLineNo">2724</span>    VersionInfo.logVersion();<a name="line.2724"></a>
+<span class="sourceLineNo">2725</span>    Configuration conf = HBaseConfiguration.create();<a name="line.2725"></a>
+<span class="sourceLineNo">2726</span>    @SuppressWarnings("unchecked")<a name="line.2726"></a>
+<span class="sourceLineNo">2727</span>    Class&lt;? extends HRegionServer&gt; regionServerClass = (Class&lt;? extends HRegionServer&gt;) conf<a name="line.2727"></a>
+<span class="sourceLineNo">2728</span>        .getClass(HConstants.REGION_SERVER_IMPL, HRegionServer.class);<a name="line.2728"></a>
+<span class="sourceLineNo">2729</span><a name="line.2729"></a>
+<span class="sourceLineNo">2730</span>    new HRegionServerCommandLine(regionServerClass).doMain(args);<a name="line.2730"></a>
+<span class="sourceLineNo">2731</span>  }<a name="line.2731"></a>
+<span class="sourceLineNo">2732</span><a name="line.2732"></a>
+<span class="sourceLineNo">2733</span>  /**<a name="line.2733"></a>
+<span class="sourceLineNo">2734</span>   * Gets the online regions of the specified table.<a name="line.2734"></a>
+<span class="sourceLineNo">2735</span>   * This method looks at the in-memory onlineRegions.  It does not go to &lt;code&gt;hbase:meta&lt;/code&gt;.<a name="line.2735"></a>
+<span class="sourceLineNo">2736</span>   * Only returns &lt;em&gt;online&lt;/em&gt; regions.  If a region on this table has been<a name="line.2736"></a>
+<span class="sourceLineNo">2737</span>   * closed during a disable, etc., it will not be included in the returned list.<a name="line.2737"></a>
+<span class="sourceLineNo">2738</span>   * So, the returned list may not necessarily be ALL regions in this table, its<a name="line.2738"></a>
+<span class="sourceLineNo">2739</span>   * all the ONLINE regions in the table.<a name="line.2739"></a>
+<span class="sourceLineNo">2740</span>   * @param tableName<a name="line.2740"></a>
+<span class="sourceLineNo">2741</span>   * @return Online regions from &lt;code&gt;tableName&lt;/code&gt;<a name="line.2741"></a>
+<span class="sourceLineNo">2742</span>   */<a name="line.2742"></a>
+<span class="sourceLineNo">2743</span>  @Override<a name="line.2743"></a>
+<span class="sourceLineNo">2744</span>  public List&lt;Region&gt; getOnlineRegions(TableName tableName) {<a name="line.2744"></a>
+<span class="sourceLineNo">2745</span>     List&lt;Region&gt; tableRegions = new ArrayList&lt;Region&gt;();<a name="line.2745"></a>
+<span class="sourceLineNo">2746</span>     synchronized (this.onlineRegions) {<a name="line.2746"></a>
+<span class="sourceLineNo">2747</span>       for (Region region: this.onlineRegions.values()) {<a name="line.2747"></a>
+<span class="sourceLineNo">2748</span>         HRegionInfo regionInfo = region.getRegionInfo();<a name="line.2748"></a>
+<span class="sourceLineNo">2749</span>         if(regionInfo.getTable().equals(tableName)) {<a name="line.2749"></a>
+<span class="sourceLineNo">2750</span>           tableRegions.add(region);<a name="line.2750"></a>
+<span class="sourceLineNo">2751</span>         }<a name="line.2751"></a>
+<span class="sourceLineNo">2752</span>       }<a name="line.2752"></a>
+<span class="sourceLineNo">2753</span>     }<a name="line.2753"></a>
+<span class="sourceLineNo">2754</span>     return tableRegions;<a name="line.2754"></a>
+<span class="sourceLineNo">2755</span>   }<a name="line.2755"></a>
+<span class="sourceLineNo">2756</span><a name="line.2756"></a>
+<span class="sourceLineNo">2757</span>  @Override<a name="line.2757"></a>
+<span class="sourceLineNo">2758</span>  public List&lt;Region&gt; getOnlineRegions() {<a name="line.2758"></a>
+<span class="sourceLineNo">2759</span>    List&lt;Region&gt; allRegions = new ArrayList&lt;Region&gt;();<a name="line.2759"></a>
+<span class="sourceLineNo">2760</span>    synchronized (this.onlineRegions) {<a name="line.2760"></a>
+<span class="sourceLineNo">2761</span>      // Return a clone copy of the onlineRegions<a name="line.2761"></a>
+<span class="sourceLineNo">2762</span>      allRegions.addAll(onlineRegions.values());<a name="line.2762"></a>
+<span class="sourceLineNo">2763</span>    }<a name="line.2763"></a>
+<span class="sourceLineNo">2764</sp

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
index 2ffbf97..ed06d4c 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.RegionServerMetricsWrapperRunnable.html
@@ -427,345 +427,365 @@
 <span class="sourceLineNo">419</span>  }<a name="line.419"></a>
 <span class="sourceLineNo">420</span><a name="line.420"></a>
 <span class="sourceLineNo">421</span>  @Override<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  public long getCheckAndMutateChecksFailed() {<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return checkAndMutateChecksFailed;<a name="line.423"></a>
+<span class="sourceLineNo">422</span>  public long getRpcGetRequestsCount() {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    return regionServer.rpcServices.rpcGetRequestCount.get();<a name="line.423"></a>
 <span class="sourceLineNo">424</span>  }<a name="line.424"></a>
 <span class="sourceLineNo">425</span><a name="line.425"></a>
 <span class="sourceLineNo">426</span>  @Override<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  public long getCheckAndMutateChecksPassed() {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>    return checkAndMutateChecksPassed;<a name="line.428"></a>
+<span class="sourceLineNo">427</span>  public long getRpcScanRequestsCount() {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>    return regionServer.rpcServices.rpcScanRequestCount.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>  @Override<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public long getStoreFileIndexSize() {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return storefileIndexSize;<a name="line.433"></a>
+<span class="sourceLineNo">432</span>  public long getRpcMultiRequestsCount() {<a name="line.432"></a>
+<span class="sourceLineNo">433</span>    return regionServer.rpcServices.rpcMultiRequestCount.get();<a name="line.433"></a>
 <span class="sourceLineNo">434</span>  }<a name="line.434"></a>
 <span class="sourceLineNo">435</span><a name="line.435"></a>
 <span class="sourceLineNo">436</span>  @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  public long getTotalStaticIndexSize() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return totalStaticIndexSize;<a name="line.438"></a>
+<span class="sourceLineNo">437</span>  public long getRpcMutateRequestsCount() {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>    return regionServer.rpcServices.rpcMutateRequestCount.get();<a name="line.438"></a>
 <span class="sourceLineNo">439</span>  }<a name="line.439"></a>
 <span class="sourceLineNo">440</span><a name="line.440"></a>
 <span class="sourceLineNo">441</span>  @Override<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  public long getTotalStaticBloomSize() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    return totalStaticBloomSize;<a name="line.443"></a>
+<span class="sourceLineNo">442</span>  public long getCheckAndMutateChecksFailed() {<a name="line.442"></a>
+<span class="sourceLineNo">443</span>    return checkAndMutateChecksFailed;<a name="line.443"></a>
 <span class="sourceLineNo">444</span>  }<a name="line.444"></a>
 <span class="sourceLineNo">445</span><a name="line.445"></a>
 <span class="sourceLineNo">446</span>  @Override<a name="line.446"></a>
-<span class="sourceLineNo">447</span>  public long getNumMutationsWithoutWAL() {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return numMutationsWithoutWAL;<a name="line.448"></a>
+<span class="sourceLineNo">447</span>  public long getCheckAndMutateChecksPassed() {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    return checkAndMutateChecksPassed;<a name="line.448"></a>
 <span class="sourceLineNo">449</span>  }<a name="line.449"></a>
 <span class="sourceLineNo">450</span><a name="line.450"></a>
 <span class="sourceLineNo">451</span>  @Override<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  public long getDataInMemoryWithoutWAL() {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    return dataInMemoryWithoutWAL;<a name="line.453"></a>
+<span class="sourceLineNo">452</span>  public long getStoreFileIndexSize() {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>    return storefileIndexSize;<a name="line.453"></a>
 <span class="sourceLineNo">454</span>  }<a name="line.454"></a>
 <span class="sourceLineNo">455</span><a name="line.455"></a>
 <span class="sourceLineNo">456</span>  @Override<a name="line.456"></a>
-<span class="sourceLineNo">457</span>  public double getPercentFileLocal() {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    return percentFileLocal;<a name="line.458"></a>
+<span class="sourceLineNo">457</span>  public long getTotalStaticIndexSize() {<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return totalStaticIndexSize;<a name="line.458"></a>
 <span class="sourceLineNo">459</span>  }<a name="line.459"></a>
 <span class="sourceLineNo">460</span><a name="line.460"></a>
 <span class="sourceLineNo">461</span>  @Override<a name="line.461"></a>
-<span class="sourceLineNo">462</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.462"></a>
-<span class="sourceLineNo">463</span>    return percentFileLocalSecondaryRegions;<a name="line.463"></a>
+<span class="sourceLineNo">462</span>  public long getTotalStaticBloomSize() {<a name="line.462"></a>
+<span class="sourceLineNo">463</span>    return totalStaticBloomSize;<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>  @Override<a name="line.466"></a>
-<span class="sourceLineNo">467</span>  public long getUpdatesBlockedTime() {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      return 0;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>    }<a name="line.470"></a>
-<span class="sourceLineNo">471</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<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>  @Override<a name="line.474"></a>
-<span class="sourceLineNo">475</span>  public long getFlushedCellsCount() {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    return flushedCellsCount;<a name="line.476"></a>
-<span class="sourceLineNo">477</span>  }<a name="line.477"></a>
-<span class="sourceLineNo">478</span><a name="line.478"></a>
-<span class="sourceLineNo">479</span>  @Override<a name="line.479"></a>
-<span class="sourceLineNo">480</span>  public long getCompactedCellsCount() {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>    return compactedCellsCount;<a name="line.481"></a>
-<span class="sourceLineNo">482</span>  }<a name="line.482"></a>
-<span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>  @Override<a name="line.484"></a>
-<span class="sourceLineNo">485</span>  public long getMajorCompactedCellsCount() {<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    return majorCompactedCellsCount;<a name="line.486"></a>
-<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>  @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  public long getFlushedCellsSize() {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    return flushedCellsSize;<a name="line.491"></a>
+<span class="sourceLineNo">467</span>  public long getNumMutationsWithoutWAL() {<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    return numMutationsWithoutWAL;<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>  @Override<a name="line.471"></a>
+<span class="sourceLineNo">472</span>  public long getDataInMemoryWithoutWAL() {<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    return dataInMemoryWithoutWAL;<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>  @Override<a name="line.476"></a>
+<span class="sourceLineNo">477</span>  public double getPercentFileLocal() {<a name="line.477"></a>
+<span class="sourceLineNo">478</span>    return percentFileLocal;<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>  @Override<a name="line.481"></a>
+<span class="sourceLineNo">482</span>  public double getPercentFileLocalSecondaryRegions() {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>    return percentFileLocalSecondaryRegions;<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  }<a name="line.484"></a>
+<span class="sourceLineNo">485</span><a name="line.485"></a>
+<span class="sourceLineNo">486</span>  @Override<a name="line.486"></a>
+<span class="sourceLineNo">487</span>  public long getUpdatesBlockedTime() {<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    if (this.regionServer.cacheFlusher == null) {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      return 0;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>    }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    return this.regionServer.cacheFlusher.getUpdatesBlockedMsHighWater().get();<a name="line.491"></a>
 <span class="sourceLineNo">492</span>  }<a name="line.492"></a>
 <span class="sourceLineNo">493</span><a name="line.493"></a>
 <span class="sourceLineNo">494</span>  @Override<a name="line.494"></a>
-<span class="sourceLineNo">495</span>  public long getCompactedCellsSize() {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    return compactedCellsSize;<a name="line.496"></a>
+<span class="sourceLineNo">495</span>  public long getFlushedCellsCount() {<a name="line.495"></a>
+<span class="sourceLineNo">496</span>    return flushedCellsCount;<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>  @Override<a name="line.499"></a>
-<span class="sourceLineNo">500</span>  public long getMajorCompactedCellsSize() {<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    return majorCompactedCellsSize;<a name="line.501"></a>
+<span class="sourceLineNo">500</span>  public long getCompactedCellsCount() {<a name="line.500"></a>
+<span class="sourceLineNo">501</span>    return compactedCellsCount;<a name="line.501"></a>
 <span class="sourceLineNo">502</span>  }<a name="line.502"></a>
 <span class="sourceLineNo">503</span><a name="line.503"></a>
 <span class="sourceLineNo">504</span>  @Override<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  public long getCellsCountCompactedFromMob() {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    return cellsCountCompactedFromMob;<a name="line.506"></a>
+<span class="sourceLineNo">505</span>  public long getMajorCompactedCellsCount() {<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    return majorCompactedCellsCount;<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 long getCellsCountCompactedToMob() {<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    return cellsCountCompactedToMob;<a name="line.511"></a>
+<span class="sourceLineNo">510</span>  public long getFlushedCellsSize() {<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    return flushedCellsSize;<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>  @Override<a name="line.514"></a>
-<span class="sourceLineNo">515</span>  public long getCellsSizeCompactedFromMob() {<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    return cellsSizeCompactedFromMob;<a name="line.516"></a>
+<span class="sourceLineNo">515</span>  public long getCompactedCellsSize() {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>    return compactedCellsSize;<a name="line.516"></a>
 <span class="sourceLineNo">517</span>  }<a name="line.517"></a>
 <span class="sourceLineNo">518</span><a name="line.518"></a>
 <span class="sourceLineNo">519</span>  @Override<a name="line.519"></a>
-<span class="sourceLineNo">520</span>  public long getCellsSizeCompactedToMob() {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    return cellsSizeCompactedToMob;<a name="line.521"></a>
+<span class="sourceLineNo">520</span>  public long getMajorCompactedCellsSize() {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    return majorCompactedCellsSize;<a name="line.521"></a>
 <span class="sourceLineNo">522</span>  }<a name="line.522"></a>
 <span class="sourceLineNo">523</span><a name="line.523"></a>
 <span class="sourceLineNo">524</span>  @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>  public long getMobFlushCount() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    return mobFlushCount;<a name="line.526"></a>
+<span class="sourceLineNo">525</span>  public long getCellsCountCompactedFromMob() {<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    return cellsCountCompactedFromMob;<a name="line.526"></a>
 <span class="sourceLineNo">527</span>  }<a name="line.527"></a>
 <span class="sourceLineNo">528</span><a name="line.528"></a>
 <span class="sourceLineNo">529</span>  @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>  public long getMobFlushedCellsCount() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    return mobFlushedCellsCount;<a name="line.531"></a>
+<span class="sourceLineNo">530</span>  public long getCellsCountCompactedToMob() {<a name="line.530"></a>
+<span class="sourceLineNo">531</span>    return cellsCountCompactedToMob;<a name="line.531"></a>
 <span class="sourceLineNo">532</span>  }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>  @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>  public long getMobFlushedCellsSize() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    return mobFlushedCellsSize;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>  public long getCellsSizeCompactedFromMob() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>    return cellsSizeCompactedFromMob;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>  }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>  @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  public long getMobScanCellsCount() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    return mobScanCellsCount;<a name="line.541"></a>
+<span class="sourceLineNo">540</span>  public long getCellsSizeCompactedToMob() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>    return cellsSizeCompactedToMob;<a name="line.541"></a>
 <span class="sourceLineNo">542</span>  }<a name="line.542"></a>
 <span class="sourceLineNo">543</span><a name="line.543"></a>
 <span class="sourceLineNo">544</span>  @Override<a name="line.544"></a>
-<span class="sourceLineNo">545</span>  public long getMobScanCellsSize() {<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    return mobScanCellsSize;<a name="line.546"></a>
+<span class="sourceLineNo">545</span>  public long getMobFlushCount() {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>    return mobFlushCount;<a name="line.546"></a>
 <span class="sourceLineNo">547</span>  }<a name="line.547"></a>
 <span class="sourceLineNo">548</span><a name="line.548"></a>
 <span class="sourceLineNo">549</span>  @Override<a name="line.549"></a>
-<span class="sourceLineNo">550</span>  public long getMobFileCacheAccessCount() {<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    return mobFileCacheAccessCount;<a name="line.551"></a>
+<span class="sourceLineNo">550</span>  public long getMobFlushedCellsCount() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>    return mobFlushedCellsCount;<a name="line.551"></a>
 <span class="sourceLineNo">552</span>  }<a name="line.552"></a>
 <span class="sourceLineNo">553</span><a name="line.553"></a>
 <span class="sourceLineNo">554</span>  @Override<a name="line.554"></a>
-<span class="sourceLineNo">555</span>  public long getMobFileCacheMissCount() {<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    return mobFileCacheMissCount;<a name="line.556"></a>
+<span class="sourceLineNo">555</span>  public long getMobFlushedCellsSize() {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>    return mobFlushedCellsSize;<a name="line.556"></a>
 <span class="sourceLineNo">557</span>  }<a name="line.557"></a>
 <span class="sourceLineNo">558</span><a name="line.558"></a>
 <span class="sourceLineNo">559</span>  @Override<a name="line.559"></a>
-<span class="sourceLineNo">560</span>  public long getMobFileCacheCount() {<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    return mobFileCacheCount;<a name="line.561"></a>
+<span class="sourceLineNo">560</span>  public long getMobScanCellsCount() {<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    return mobScanCellsCount;<a name="line.561"></a>
 <span class="sourceLineNo">562</span>  }<a name="line.562"></a>
 <span class="sourceLineNo">563</span><a name="line.563"></a>
 <span class="sourceLineNo">564</span>  @Override<a name="line.564"></a>
-<span class="sourceLineNo">565</span>  public long getMobFileCacheEvictedCount() {<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    return mobFileCacheEvictedCount;<a name="line.566"></a>
+<span class="sourceLineNo">565</span>  public long getMobScanCellsSize() {<a name="line.565"></a>
+<span class="sourceLineNo">566</span>    return mobScanCellsSize;<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>  @Override<a name="line.569"></a>
-<span class="sourceLineNo">570</span>  public double getMobFileCacheHitPercent() {<a name="line.570"></a>
-<span class="sourceLineNo">571</span>    return mobFileCacheHitRatio * 100;<a name="line.571"></a>
+<span class="sourceLineNo">570</span>  public long getMobFileCacheAccessCount() {<a name="line.570"></a>
+<span class="sourceLineNo">571</span>    return mobFileCacheAccessCount;<a name="line.571"></a>
 <span class="sourceLineNo">572</span>  }<a name="line.572"></a>
 <span class="sourceLineNo">573</span><a name="line.573"></a>
-<span class="sourceLineNo">574</span>  /**<a name="line.574"></a>
-<span class="sourceLineNo">575</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.575"></a>
-<span class="sourceLineNo">576</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.576"></a>
-<span class="sourceLineNo">577</span>   * time metrics.<a name="line.577"></a>
-<span class="sourceLineNo">578</span>   */<a name="line.578"></a>
-<span class="sourceLineNo">579</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    private long lastRan = 0;<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    private long lastRequestCount = 0;<a name="line.582"></a>
+<span class="sourceLineNo">574</span>  @Override<a name="line.574"></a>
+<span class="sourceLineNo">575</span>  public long getMobFileCacheMissCount() {<a name="line.575"></a>
+<span class="sourceLineNo">576</span>    return mobFileCacheMissCount;<a name="line.576"></a>
+<span class="sourceLineNo">577</span>  }<a name="line.577"></a>
+<span class="sourceLineNo">578</span><a name="line.578"></a>
+<span class="sourceLineNo">579</span>  @Override<a name="line.579"></a>
+<span class="sourceLineNo">580</span>  public long getMobFileCacheCount() {<a name="line.580"></a>
+<span class="sourceLineNo">581</span>    return mobFileCacheCount;<a name="line.581"></a>
+<span class="sourceLineNo">582</span>  }<a name="line.582"></a>
 <span class="sourceLineNo">583</span><a name="line.583"></a>
-<span class="sourceLineNo">584</span>    @Override<a name="line.584"></a>
-<span class="sourceLineNo">585</span>    synchronized public void run() {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>      try {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        initBlockCache();<a name="line.587"></a>
-<span class="sourceLineNo">588</span>        initMobFileCache();<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        cacheStats = blockCache.getStats();<a name="line.589"></a>
-<span class="sourceLineNo">590</span><a name="line.590"></a>
-<span class="sourceLineNo">591</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.591"></a>
-<span class="sourceLineNo">592</span>            new HDFSBlocksDistribution();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.593"></a>
-<span class="sourceLineNo">594</span>            new HDFSBlocksDistribution();<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.596"></a>
-<span class="sourceLineNo">597</span>        long tempReadRequestsCount = 0, tempFilteredReadRequestsCount = 0,<a name="line.597"></a>
-<span class="sourceLineNo">598</span>          tempWriteRequestsCount = 0;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.599"></a>
-<span class="sourceLineNo">600</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.600"></a>
-<span class="sourceLineNo">601</span>        long tempStorefileIndexSize = 0;<a name="line.601"></a>
-<span class="sourceLineNo">602</span>        long tempTotalStaticIndexSize = 0;<a name="line.602"></a>
-<span class="sourceLineNo">603</span>        long tempTotalStaticBloomSize = 0;<a name="line.603"></a>
-<span class="sourceLineNo">604</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.604"></a>
-<span class="sourceLineNo">605</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.605"></a>
-<span class="sourceLineNo">606</span>        double tempPercentFileLocal = 0;<a name="line.606"></a>
-<span class="sourceLineNo">607</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.607"></a>
-<span class="sourceLineNo">608</span>        long tempFlushedCellsCount = 0;<a name="line.608"></a>
-<span class="sourceLineNo">609</span>        long tempCompactedCellsCount = 0;<a name="line.609"></a>
-<span class="sourceLineNo">610</span>        long tempMajorCompactedCellsCount = 0;<a name="line.610"></a>
-<span class="sourceLineNo">611</span>        long tempFlushedCellsSize = 0;<a name="line.611"></a>
-<span class="sourceLineNo">612</span>        long tempCompactedCellsSize = 0;<a name="line.612"></a>
-<span class="sourceLineNo">613</span>        long tempMajorCompactedCellsSize = 0;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>        long tempCellsCountCompactedToMob = 0;<a name="line.614"></a>
-<span class="sourceLineNo">615</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.615"></a>
-<span class="sourceLineNo">616</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.616"></a>
-<span class="sourceLineNo">617</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.617"></a>
-<span class="sourceLineNo">618</span>        long tempMobFlushCount = 0;<a name="line.618"></a>
-<span class="sourceLineNo">619</span>        long tempMobFlushedCellsCount = 0;<a name="line.619"></a>
-<span class="sourceLineNo">620</span>        long tempMobFlushedCellsSize = 0;<a name="line.620"></a>
-<span class="sourceLineNo">621</span>        long tempMobScanCellsCount = 0;<a name="line.621"></a>
-<span class="sourceLineNo">622</span>        long tempMobScanCellsSize = 0;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>        long tempBlockedRequestsCount = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.625"></a>
-<span class="sourceLineNo">626</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.627"></a>
-<span class="sourceLineNo">628</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.628"></a>
-<span class="sourceLineNo">629</span>          tempFilteredReadRequestsCount += r.getFilteredReadRequestsCount();<a name="line.629"></a>
-<span class="sourceLineNo">630</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.630"></a>
-<span class="sourceLineNo">631</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.631"></a>
-<span class="sourceLineNo">632</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.632"></a>
-<span class="sourceLineNo">633</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.633"></a>
-<span class="sourceLineNo">634</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.634"></a>
-<span class="sourceLineNo">635</span>          tempNumStores += storeList.size();<a name="line.635"></a>
-<span class="sourceLineNo">636</span>          for (Store store : storeList) {<a name="line.636"></a>
-<span class="sourceLineNo">637</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.638"></a>
-<span class="sourceLineNo">639</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.640"></a>
-<span class="sourceLineNo">641</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.641"></a>
-<span class="sourceLineNo">642</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.642"></a>
-<span class="sourceLineNo">643</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.644"></a>
-<span class="sourceLineNo">645</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.645"></a>
-<span class="sourceLineNo">646</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.646"></a>
-<span class="sourceLineNo">647</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.647"></a>
-<span class="sourceLineNo">648</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.648"></a>
-<span class="sourceLineNo">649</span>            if (store instanceof HMobStore) {<a name="line.649"></a>
-<span class="sourceLineNo">650</span>              HMobStore mobStore = (HMobStore) store;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.651"></a>
-<span class="sourceLineNo">652</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.652"></a>
-<span class="sourceLineNo">653</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.654"></a>
-<span class="sourceLineNo">655</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.655"></a>
-<span class="sourceLineNo">656</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.657"></a>
-<span class="sourceLineNo">658</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.658"></a>
-<span class="sourceLineNo">659</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<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>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>          hdfsBlocksDistribution.add(distro);<a name="line.664"></a>
-<span class="sourceLineNo">665</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.665"></a>
-<span class="sourceLineNo">666</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.666"></a>
-<span class="sourceLineNo">667</span>          }<a name="line.667"></a>
-<span class="sourceLineNo">668</span>        }<a name="line.668"></a>
-<span class="sourceLineNo">669</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.669"></a>
-<span class="sourceLineNo">670</span>            regionServer.getServerName().getHostname());<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.671"></a>
-<span class="sourceLineNo">672</span><a name="line.672"></a>
-<span class="sourceLineNo">673</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.673"></a>
-<span class="sourceLineNo">674</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.676"></a>
-<span class="sourceLineNo">677</span><a name="line.677"></a>
-<span class="sourceLineNo">678</span>        // Compute the number of requests per second<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.679"></a>
-<span class="sourceLineNo">680</span><a name="line.680"></a>
-<span class="sourceLineNo">681</span>        // assume that it took PERIOD seconds to start the executor.<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        // this is a guess but it's a pretty good one.<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        if (lastRan == 0) {<a name="line.683"></a>
-<span class="sourceLineNo">684</span>          lastRan = currentTime - period;<a name="line.684"></a>
-<span class="sourceLineNo">685</span>        }<a name="line.685"></a>
-<span class="sourceLineNo">686</span>        // If we've time traveled keep the last requests per second.<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        if ((currentTime - lastRan) &gt; 0) {<a name="line.687"></a>
-<span class="sourceLineNo">688</span>          long currentRequestCount = getTotalRequestCount();<a name="line.688"></a>
-<span class="sourceLineNo">689</span>          requestsPerSecond = (currentRequestCount - lastRequestCount) /<a name="line.689"></a>
-<span class="sourceLineNo">690</span>              ((currentTime - lastRan) / 1000.0);<a name="line.690"></a>
-<span class="sourceLineNo">691</span>          lastRequestCount = currentRequestCount;<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        }<a name="line.692"></a>
-<span class="sourceLineNo">693</span>        lastRan = currentTime;<a name="line.693"></a>
-<span class="sourceLineNo">694</span><a name="line.694"></a>
-<span class="sourceLineNo">695</span>        WALProvider provider = regionServer.walFactory.getWALProvider();<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        WALProvider metaProvider = regionServer.walFactory.getMetaWALProvider();<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        numWALFiles = (provider == null ? 0 : provider.getNumLogFiles()) +<a name="line.697"></a>
-<span class="sourceLineNo">698</span>            (metaProvider == null ? 0 : metaProvider.getNumLogFiles());<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        walFileSize = (provider == null ? 0 : provider.getLogFileSize()) +<a name="line.699"></a>
-<span class="sourceLineNo">700</span>            (provider == null ? 0 : provider.getLogFileSize());<a name="line.700"></a>
-<span class="sourceLineNo">701</span>        // Copy over computed values so that no thread sees half computed values.<a name="line.701"></a>
-<span class="sourceLineNo">702</span>        numStores = tempNumStores;<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        numStoreFiles = tempNumStoreFiles;<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        memstoreSize = tempMemstoreSize;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>        storeFileSize = tempStoreFileSize;<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        readRequestsCount = tempReadRequestsCount;<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        filteredReadRequestsCount = tempFilteredReadRequestsCount;<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        writeRequestsCount = tempWriteRequestsCount;<a name="line.708"></a>
-<span class="sourceLineNo">709</span>        checkAndMutateChecksFailed = tempCheckAndMutateChecksFailed;<a name="line.709"></a>
-<span class="sourceLineNo">710</span>        checkAndMutateChecksPassed = tempCheckAndMutateChecksPassed;<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        storefileIndexSize = tempStorefileIndexSize;<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        totalStaticIndexSize = tempTotalStaticIndexSize;<a name="line.712"></a>
-<span class="sourceLineNo">713</span>        totalStaticBloomSize = tempTotalStaticBloomSize;<a name="line.713"></a>
-<span class="sourceLineNo">714</span>        numMutationsWithoutWAL = tempNumMutationsWithoutWAL;<a name="line.714"></a>
-<span class="sourceLineNo">715</span>        dataInMemoryWithoutWAL = tempDataInMemoryWithoutWAL;<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        percentFileLocal = tempPercentFileLocal;<a name="line.716"></a>
-<span class="sourceLineNo">717</span>        percentFileLocalSecondaryRegions = tempPercentFileLocalSecondaryRegions;<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        flushedCellsCount = tempFlushedCellsCount;<a name="line.718"></a>
-<span class="sourceLineNo">719</span>        compactedCellsCount = tempCompactedCellsCount;<a name="line.719"></a>
-<span class="sourceLineNo">720</span>        majorCompactedCellsCount = tempMajorCompactedCellsCount;<a name="line.720"></a>
-<span class="sourceLineNo">721</span>        flushedCellsSize = tempFlushedCellsSize;<a name="line.721"></a>
-<span class="sourceLineNo">722</span>        compactedCellsSize = tempCompactedCellsSize;<a name="line.722"></a>
-<span class="sourceLineNo">723</span>        majorCompactedCellsSize = tempMajorCompactedCellsSize;<a name="line.723"></a>
-<span class="sourceLineNo">724</span>        cellsCountCompactedToMob = tempCellsCountCompactedToMob;<a name="line.724"></a>
-<span class="sourceLineNo">725</span>        cellsCountCompactedFromMob = tempCellsCountCompactedFromMob;<a name="line.725"></a>
-<span class="sourceLineNo">726</span>        cellsSizeCompactedToMob = tempCellsSizeCompactedToMob;<a name="line.726"></a>
-<span class="sourceLineNo">727</span>        cellsSizeCompactedFromMob = tempCellsSizeCompactedFromMob;<a name="line.727"></a>
-<span class="sourceLineNo">728</span>        mobFlushCount = tempMobFlushCount;<a name="line.728"></a>
-<span class="sourceLineNo">729</span>        mobFlushedCellsCount = tempMobFlushedCellsCount;<a name="line.729"></a>
-<span class="sourceLineNo">730</span>        mobFlushedCellsSize = tempMobFlushedCellsSize;<a name="line.730"></a>
-<span class="sourceLineNo">731</span>        mobScanCellsCount = tempMobScanCellsCount;<a name="line.731"></a>
-<span class="sourceLineNo">732</span>        mobScanCellsSize = tempMobScanCellsSize;<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        mobFileCacheAccessCount = mobFileCache.getAccessCount();<a name="line.733"></a>
-<span class="sourceLineNo">734</span>        mobFileCacheMissCount = mobFileCache.getMissCount();<a name="line.734"></a>
-<span class="sourceLineNo">735</span>        mobFileCacheHitRatio = Double.<a name="line.735"></a>
-<span class="sourceLineNo">736</span>            isNaN(mobFileCache.getHitRatio())?0:mobFileCache.getHitRatio();<a name="line.736"></a>
-<span class="sourceLineNo">737</span>        mobFileCacheEvictedCount = mobFileCache.getEvictedFileCount();<a name="line.737"></a>
-<span class="sourceLineNo">738</span>        mobFileCacheCount = mobFileCache.getCacheSize();<a name="line.738"></a>
-<span class="sourceLineNo">739</span>        blockedRequestsCount = tempBlockedRequestsCount;<a name="line.739"></a>
-<span class="sourceLineNo">740</span>      } catch (Throwable e) {<a name="line.740"></a>
-<span class="sourceLineNo">741</span>        LOG.warn("Caught exception! Will suppress and retry.", e);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      }<a name="line.742"></a>
-<span class="sourceLineNo">743</span>    }<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 long getHedgedReadOps() {<a name="line.747"></a>
-<span class="sourceLineNo">748</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadOps();<a name="line.748"></a>
-<span class="sourceLineNo">749</span>  }<a name="line.749"></a>
-<span class="sourceLineNo">750</span><a name="line.750"></a>
-<span class="sourceLineNo">751</span>  @Override<a name="line.751"></a>
-<span class="sourceLineNo">752</span>  public long getHedgedReadWins() {<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadWins();<a name="line.753"></a>
-<span class="sourceLineNo">754</span>  }<a name="line.754"></a>
-<span class="sourceLineNo">755</span><a name="line.755"></a>
-<span class="sourceLineNo">756</span>  @Override<a name="line.756"></a>
-<span class="sourceLineNo">757</span>  public long getBlockedRequestsCount() {<a name="line.757"></a>
-<span class="sourceLineNo">758</span>    return blockedRequestsCount;<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">584</span>  @Override<a name="line.584"></a>
+<span class="sourceLineNo">585</span>  public long getMobFileCacheEvictedCount() {<a name="line.585"></a>
+<span class="sourceLineNo">586</span>    return mobFileCacheEvictedCount;<a name="line.586"></a>
+<span class="sourceLineNo">587</span>  }<a name="line.587"></a>
+<span class="sourceLineNo">588</span><a name="line.588"></a>
+<span class="sourceLineNo">589</span>  @Override<a name="line.589"></a>
+<span class="sourceLineNo">590</span>  public double getMobFileCacheHitPercent() {<a name="line.590"></a>
+<span class="sourceLineNo">591</span>    return mobFileCacheHitRatio * 100;<a name="line.591"></a>
+<span class="sourceLineNo">592</span>  }<a name="line.592"></a>
+<span class="sourceLineNo">593</span><a name="line.593"></a>
+<span class="sourceLineNo">594</span>  /**<a name="line.594"></a>
+<span class="sourceLineNo">595</span>   * This is the runnable that will be executed on the executor every PERIOD number of seconds<a name="line.595"></a>
+<span class="sourceLineNo">596</span>   * It will take metrics/numbers from all of the regions and use them to compute point in<a name="line.596"></a>
+<span class="sourceLineNo">597</span>   * time metrics.<a name="line.597"></a>
+<span class="sourceLineNo">598</span>   */<a name="line.598"></a>
+<span class="sourceLineNo">599</span>  public class RegionServerMetricsWrapperRunnable implements Runnable {<a name="line.599"></a>
+<span class="sourceLineNo">600</span><a name="line.600"></a>
+<span class="sourceLineNo">601</span>    private long lastRan = 0;<a name="line.601"></a>
+<span class="sourceLineNo">602</span>    private long lastRequestCount = 0;<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span>    @Override<a name="line.604"></a>
+<span class="sourceLineNo">605</span>    synchronized public void run() {<a name="line.605"></a>
+<span class="sourceLineNo">606</span>      try {<a name="line.606"></a>
+<span class="sourceLineNo">607</span>        initBlockCache();<a name="line.607"></a>
+<span class="sourceLineNo">608</span>        initMobFileCache();<a name="line.608"></a>
+<span class="sourceLineNo">609</span>        cacheStats = blockCache.getStats();<a name="line.609"></a>
+<span class="sourceLineNo">610</span><a name="line.610"></a>
+<span class="sourceLineNo">611</span>        HDFSBlocksDistribution hdfsBlocksDistribution =<a name="line.611"></a>
+<span class="sourceLineNo">612</span>            new HDFSBlocksDistribution();<a name="line.612"></a>
+<span class="sourceLineNo">613</span>        HDFSBlocksDistribution hdfsBlocksDistributionSecondaryRegions =<a name="line.613"></a>
+<span class="sourceLineNo">614</span>            new HDFSBlocksDistribution();<a name="line.614"></a>
+<span class="sourceLineNo">615</span><a name="line.615"></a>
+<span class="sourceLineNo">616</span>        long tempNumStores = 0, tempNumStoreFiles = 0, tempMemstoreSize = 0, tempStoreFileSize = 0;<a name="line.616"></a>
+<span class="sourceLineNo">617</span>        long tempReadRequestsCount = 0, tempFilteredReadRequestsCount = 0,<a name="line.617"></a>
+<span class="sourceLineNo">618</span>          tempWriteRequestsCount = 0;<a name="line.618"></a>
+<span class="sourceLineNo">619</span>        long tempCheckAndMutateChecksFailed = 0;<a name="line.619"></a>
+<span class="sourceLineNo">620</span>        long tempCheckAndMutateChecksPassed = 0;<a name="line.620"></a>
+<span class="sourceLineNo">621</span>        long tempStorefileIndexSize = 0;<a name="line.621"></a>
+<span class="sourceLineNo">622</span>        long tempTotalStaticIndexSize = 0;<a name="line.622"></a>
+<span class="sourceLineNo">623</span>        long tempTotalStaticBloomSize = 0;<a name="line.623"></a>
+<span class="sourceLineNo">624</span>        long tempNumMutationsWithoutWAL = 0;<a name="line.624"></a>
+<span class="sourceLineNo">625</span>        long tempDataInMemoryWithoutWAL = 0;<a name="line.625"></a>
+<span class="sourceLineNo">626</span>        double tempPercentFileLocal = 0;<a name="line.626"></a>
+<span class="sourceLineNo">627</span>        double tempPercentFileLocalSecondaryRegions = 0;<a name="line.627"></a>
+<span class="sourceLineNo">628</span>        long tempFlushedCellsCount = 0;<a name="line.628"></a>
+<span class="sourceLineNo">629</span>        long tempCompactedCellsCount = 0;<a name="line.629"></a>
+<span class="sourceLineNo">630</span>        long tempMajorCompactedCellsCount = 0;<a name="line.630"></a>
+<span class="sourceLineNo">631</span>        long tempFlushedCellsSize = 0;<a name="line.631"></a>
+<span class="sourceLineNo">632</span>        long tempCompactedCellsSize = 0;<a name="line.632"></a>
+<span class="sourceLineNo">633</span>        long tempMajorCompactedCellsSize = 0;<a name="line.633"></a>
+<span class="sourceLineNo">634</span>        long tempCellsCountCompactedToMob = 0;<a name="line.634"></a>
+<span class="sourceLineNo">635</span>        long tempCellsCountCompactedFromMob = 0;<a name="line.635"></a>
+<span class="sourceLineNo">636</span>        long tempCellsSizeCompactedToMob = 0;<a name="line.636"></a>
+<span class="sourceLineNo">637</span>        long tempCellsSizeCompactedFromMob = 0;<a name="line.637"></a>
+<span class="sourceLineNo">638</span>        long tempMobFlushCount = 0;<a name="line.638"></a>
+<span class="sourceLineNo">639</span>        long tempMobFlushedCellsCount = 0;<a name="line.639"></a>
+<span class="sourceLineNo">640</span>        long tempMobFlushedCellsSize = 0;<a name="line.640"></a>
+<span class="sourceLineNo">641</span>        long tempMobScanCellsCount = 0;<a name="line.641"></a>
+<span class="sourceLineNo">642</span>        long tempMobScanCellsSize = 0;<a name="line.642"></a>
+<span class="sourceLineNo">643</span>        long tempBlockedRequestsCount = 0;<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span>        for (Region r : regionServer.getOnlineRegionsLocalContext()) {<a name="line.645"></a>
+<span class="sourceLineNo">646</span>          tempNumMutationsWithoutWAL += r.getNumMutationsWithoutWAL();<a name="line.646"></a>
+<span class="sourceLineNo">647</span>          tempDataInMemoryWithoutWAL += r.getDataInMemoryWithoutWAL();<a name="line.647"></a>
+<span class="sourceLineNo">648</span>          tempReadRequestsCount += r.getReadRequestsCount();<a name="line.648"></a>
+<span class="sourceLineNo">649</span>          tempFilteredReadRequestsCount += r.getFilteredReadRequestsCount();<a name="line.649"></a>
+<span class="sourceLineNo">650</span>          tempWriteRequestsCount += r.getWriteRequestsCount();<a name="line.650"></a>
+<span class="sourceLineNo">651</span>          tempCheckAndMutateChecksFailed += r.getCheckAndMutateChecksFailed();<a name="line.651"></a>
+<span class="sourceLineNo">652</span>          tempCheckAndMutateChecksPassed += r.getCheckAndMutateChecksPassed();<a name="line.652"></a>
+<span class="sourceLineNo">653</span>          tempBlockedRequestsCount += r.getBlockedRequestsCount();<a name="line.653"></a>
+<span class="sourceLineNo">654</span>          List&lt;Store&gt; storeList = r.getStores();<a name="line.654"></a>
+<span class="sourceLineNo">655</span>          tempNumStores += storeList.size();<a name="line.655"></a>
+<span class="sourceLineNo">656</span>          for (Store store : storeList) {<a name="line.656"></a>
+<span class="sourceLineNo">657</span>            tempNumStoreFiles += store.getStorefilesCount();<a name="line.657"></a>
+<span class="sourceLineNo">658</span>            tempMemstoreSize += store.getMemStoreSize();<a name="line.658"></a>
+<span class="sourceLineNo">659</span>            tempStoreFileSize += store.getStorefilesSize();<a name="line.659"></a>
+<span class="sourceLineNo">660</span>            tempStorefileIndexSize += store.getStorefilesIndexSize();<a name="line.660"></a>
+<span class="sourceLineNo">661</span>            tempTotalStaticBloomSize += store.getTotalStaticBloomSize();<a name="line.661"></a>
+<span class="sourceLineNo">662</span>            tempTotalStaticIndexSize += store.getTotalStaticIndexSize();<a name="line.662"></a>
+<span class="sourceLineNo">663</span>            tempFlushedCellsCount += store.getFlushedCellsCount();<a name="line.663"></a>
+<span class="sourceLineNo">664</span>            tempCompactedCellsCount += store.getCompactedCellsCount();<a name="line.664"></a>
+<span class="sourceLineNo">665</span>            tempMajorCompactedCellsCount += store.getMajorCompactedCellsCount();<a name="line.665"></a>
+<span class="sourceLineNo">666</span>            tempFlushedCellsSize += store.getFlushedCellsSize();<a name="line.666"></a>
+<span class="sourceLineNo">667</span>            tempCompactedCellsSize += store.getCompactedCellsSize();<a name="line.667"></a>
+<span class="sourceLineNo">668</span>            tempMajorCompactedCellsSize += store.getMajorCompactedCellsSize();<a name="line.668"></a>
+<span class="sourceLineNo">669</span>            if (store instanceof HMobStore) {<a name="line.669"></a>
+<span class="sourceLineNo">670</span>              HMobStore mobStore = (HMobStore) store;<a name="line.670"></a>
+<span class="sourceLineNo">671</span>              tempCellsCountCompactedToMob += mobStore.getCellsCountCompactedToMob();<a name="line.671"></a>
+<span class="sourceLineNo">672</span>              tempCellsCountCompactedFromMob += mobStore.getCellsCountCompactedFromMob();<a name="line.672"></a>
+<span class="sourceLineNo">673</span>              tempCellsSizeCompactedToMob += mobStore.getCellsSizeCompactedToMob();<a name="line.673"></a>
+<span class="sourceLineNo">674</span>              tempCellsSizeCompactedFromMob += mobStore.getCellsSizeCompactedFromMob();<a name="line.674"></a>
+<span class="sourceLineNo">675</span>              tempMobFlushCount += mobStore.getMobFlushCount();<a name="line.675"></a>
+<span class="sourceLineNo">676</span>              tempMobFlushedCellsCount += mobStore.getMobFlushedCellsCount();<a name="line.676"></a>
+<span class="sourceLineNo">677</span>              tempMobFlushedCellsSize += mobStore.getMobFlushedCellsSize();<a name="line.677"></a>
+<span class="sourceLineNo">678</span>              tempMobScanCellsCount += mobStore.getMobScanCellsCount();<a name="line.678"></a>
+<span class="sourceLineNo">679</span>              tempMobScanCellsSize += mobStore.getMobScanCellsSize();<a name="line.679"></a>
+<span class="sourceLineNo">680</span>            }<a name="line.680"></a>
+<span class="sourceLineNo">681</span>          }<a name="line.681"></a>
+<span class="sourceLineNo">682</span><a name="line.682"></a>
+<span class="sourceLineNo">683</span>          HDFSBlocksDistribution distro = r.getHDFSBlocksDistribution();<a name="line.683"></a>
+<span class="sourceLineNo">684</span>          hdfsBlocksDistribution.add(distro);<a name="line.684"></a>
+<span class="sourceLineNo">685</span>          if (r.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {<a name="line.685"></a>
+<span class="sourceLineNo">686</span>            hdfsBlocksDistributionSecondaryRegions.add(distro);<a name="line.686"></a>
+<span class="sourceLineNo">687</span>          }<a name="line.687"></a>
+<span class="sourceLineNo">688</span>        }<a name="line.688"></a>
+<span class="sourceLineNo">689</span>        float localityIndex = hdfsBlocksDistribution.getBlockLocalityIndex(<a name="line.689"></a>
+<span class="sourceLineNo">690</span>            regionServer.getServerName().getHostname());<a name="line.690"></a>
+<span class="sourceLineNo">691</span>        tempPercentFileLocal = Double.isNaN(tempBlockedRequestsCount) ? 0 : (localityIndex * 100);<a name="line.691"></a>
+<span class="sourceLineNo">692</span><a name="line.692"></a>
+<span class="sourceLineNo">693</span>        float localityIndexSecondaryRegions = hdfsBlocksDistributionSecondaryRegions<a name="line.693"></a>
+<span class="sourceLineNo">694</span>            .getBlockLocalityIndex(regionServer.getServerName().getHostname());<a name="line.694"></a>
+<span class="sourceLineNo">695</span>        tempPercentFileLocalSecondaryRegions = Double.<a name="line.695"></a>
+<span class="sourceLineNo">696</span>            isNaN(localityIndexSecondaryRegions) ? 0 : (localityIndexSecondaryRegions * 100);<a name="line.696"></a>
+<span class="sourceLineNo">697</span><a name="line.697"></a>
+<span class="sourceLineNo">698</span>        // Compute the number of requests per second<a name="line.698"></a>
+<span class="sourceLineNo">699</span>        long currentTime = EnvironmentEdgeManager.currentTime();<a name="line.699"></a>
+<span class="sourceLineNo">700</span><a name="line.700"></a>
+<span class="sourceLineNo">701</span>        // assume that it took PERIOD seconds to start the executor.<a name="line.701"></a>
+<span class="sourceLineNo">702</span>        // this is a guess but it's a pretty good one.<a name="line.702"></a>
+<span class="sourceLineNo">703</span>        if (lastRan == 0) {<a name="line.703"></a>
+<span class="sourceLineNo">704</span>          lastRan = currentTime - period;<a name="line.704"></a>
+<span class="sourceLineNo">705</span>        }<a name="line.705"></a>
+<span class="sourceLineNo">706</span>        // If we've time traveled keep the last requests per second.<a name="line.706"></a>
+<span class="sourceLineNo">707</span>        if ((currentTime - lastRan) &gt; 0) {<a name="line.707"></a>
+<span class="sourceLineNo">708</span>          long currentRequestCount = getTotalRequestCount();<a name="line.708"></a>
+<span class="sourceLineNo">709</span>          requestsPerSecond = (currentRequestCount - lastRequestCount) /<a name="line.709"></a>
+<span class="sourceLineNo">710</span>              ((currentTime - lastRan) / 1000.0);<a name="line.710"></a>
+<span class="sourceLineNo">711</span>          lastRequestCount = currentRequestCount;<a name="line.711"></a>
+<span class="sourceLineNo">712</span>        }<a name="line.712"></a>
+<span class="sourceLineNo">713</span>        lastRan = currentTime;<a name="line.713"></a>
+<span class="sourceLineNo">714</span><a name="line.714"></a>
+<span class="sourceLineNo">715</span>        WALProvider provider = regionServer.walFactory.getWALProvider();<a name="line.715"></a>
+<span class="sourceLineNo">716</span>        WALProvider metaProvider = regionServer.walFactory.getMetaWALProvider();<a name="line.716"></a>
+<span class="sourceLineNo">717</span>        numWALFiles = (provider == null ? 0 : provider.getNumLogFiles()) +<a name="line.717"></a>
+<span class="sourceLineNo">718</span>            (metaProvider == null ? 0 : metaProvider.getNumLogFiles());<a name="line.718"></a>
+<span class="sourceLineNo">719</span>        walFileSize = (provider == null ? 0 : provider.getLogFileSize()) +<a name="line.719"></a>
+<span class="sourceLineNo">720</span>            (provider == null ? 0 : provider.getLogFileSize());<a name="line.720"></a>
+<span class="sourceLineNo">721</span>        // Copy over computed values so that no thread sees half computed values.<a name="line.721"></a>
+<span class="sourceLineNo">722</span>        numStores = tempNumStores;<a name="line.722"></a>
+<span class="sourceLineNo">723</span>        numStoreFiles = tempNumStoreFiles;<a name="line.723"></a>
+<span class="sourceLineNo">724</span>        memstoreSize = tempMemstoreSize;<a name="line.724"></a>
+<span class="sourceLineNo">725</span>        storeFileSize = tempStoreFileSize;<a name="line.725"></a>
+<span class="sourceLineNo">726</span>        readRequestsCount = tempReadRequestsCount;<a name="line.726"></a>
+<span class="sourceLineNo">727</span>        filteredReadRequestsCount = tempFilteredReadRequestsCount;<a name="line.727"></a>
+<span class="sourceLineNo">728</span>        writeRequestsCount = tempWriteRequestsCount;<a name="line.728"></a>
+<span class="sourceLineNo">729</span>        checkAndMutateChecksFailed = tempCheckAndMutateChecksFailed;<a name="line.729"></a>
+<span class="sourceLineNo">730</span>        checkAndMutateChecksPassed = tempCheckAndMutateChecksPassed;<a name="line.730"></a>
+<span class="sourceLineNo">731</span>        storefileIndexSize = tempStorefileIndexSize;<a name="line.731"></a>
+<span class="sourceLineNo">732</span>        totalStaticIndexSize = tempTotalStaticIndexSize;<a name="line.732"></a>
+<span class="sourceLineNo">733</span>        totalStaticBloomSize = tempTotalStaticBloomSize;<a name="line.733"></a>
+<span class="sourceLineNo">734</span>        numMutationsWithoutWAL = tempNumMutationsWithoutWAL;<a name="line.734"></a>
+<span class="sourceLineNo">735</span>        dataInMemoryWithoutWAL = tempDataInMemoryWithoutWAL;<a name="line.735"></a>
+<span class="sourceLineNo">736</span>        percentFileLocal = tempPercentFileLocal;<a name="line.736"></a>
+<span class="sourceLineNo">737</span>        percentFileLocalSecondaryRegions = tempPercentFileLocalSecondaryRegions;<a name="line.737"></a>
+<span class="sourceLineNo">738</span>        flushedCellsCount = tempFlushedCellsCount;<a name="line.738"></a>
+<span class="sourceLineNo">739</span>        compactedCellsCount = tempCompactedCellsCount;<a name="line.739"></a>
+<span class="sourceLineNo">740</span>        majorCompactedCellsCount = tempMajorCompactedCellsCount;<a name="line.740"></a>
+<span class="sourceLineNo">741</span>        flushedCellsSize = tempFlushedCellsSize;<a name="line.741"></a>
+<span class="sourceLineNo">742</span>        compactedCellsSize = tempCompactedCellsSize;<a name="line.742"></a>
+<span class="sourceLineNo">743</span>        majorCompactedCellsSize = tempMajorCompactedCellsSize;<a name="line.743"></a>
+<span class="sourceLineNo">744</span>        cellsCountCompactedToMob = tempCellsCountCompactedToMob;<a name="line.744"></a>
+<span class="sourceLineNo">745</span>        cellsCountCompactedFromMob = tempCellsCountCompactedFromMob;<a name="line.745"></a>
+<span class="sourceLineNo">746</span>        cellsSizeCompactedToMob = tempCellsSizeCompactedToMob;<a name="line.746"></a>
+<span class="sourceLineNo">747</span>        cellsSizeCompactedFromMob = tempCellsSizeCompactedFromMob;<a name="line.747"></a>
+<span class="sourceLineNo">748</span>        mobFlushCount = tempMobFlushCount;<a name="line.748"></a>
+<span class="sourceLineNo">749</span>        mobFlushedCellsCount = tempMobFlushedCellsCount;<a name="line.749"></a>
+<span class="sourceLineNo">750</span>        mobFlushedCellsSize = tempMobFlushedCellsSize;<a name="line.750"></a>
+<span class="sourceLineNo">751</span>        mobScanCellsCount = tempMobScanCellsCount;<a name="line.751"></a>
+<span class="sourceLineNo">752</span>        mobScanCellsSize = tempMobScanCellsSize;<a name="line.752"></a>
+<span class="sourceLineNo">753</span>        mobFileCacheAccessCount = mobFileCache.getAccessCount();<a name="line.753"></a>
+<span class="sourceLineNo">754</span>        mobFileCacheMissCount = mobFileCache.getMissCount();<a name="line.754"></a>
+<span class="sourceLineNo">755</span>        mobFileCacheHitRatio = Double.<a name="line.755"></a>
+<span class="sourceLineNo">756</span>            isNaN(mobFileCache.getHitRatio())?0:mobFileCache.getHitRatio();<a name="line.756"></a>
+<span class="sourceLineNo">757</span>        mobFileCacheEvictedCount = mobFileCache.getEvictedFileCount();<a name="line.757"></a>
+<span class="sourceLineNo">758</span>        mobFileCacheCount = mobFileCache.getCacheSize();<a name="line.758"></a>
+<span class="sourceLineNo">759</span>        blockedRequestsCount = tempBlockedRequestsCount;<a name="line.759"></a>
+<span class="sourceLineNo">760</span>      } catch (Throwable e) {<a name="line.760"></a>
+<span class="sourceLineNo">761</span>        LOG.warn("Caught exception! Will suppress and retry.", e);<a name="line.761"></a>
+<span class="sourceLineNo">762</span>      }<a name="line.762"></a>
+<span class="sourceLineNo">763</span>    }<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>  @Override<a name="line.766"></a>
+<span class="sourceLineNo">767</span>  public long getHedgedReadOps() {<a name="line.767"></a>
+<span class="sourceLineNo">768</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadOps();<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>  @Override<a name="line.771"></a>
+<span class="sourceLineNo">772</span>  public long getHedgedReadWins() {<a name="line.772"></a>
+<span class="sourceLineNo">773</span>    return this.dfsHedgedReadMetrics == null? 0: this.dfsHedgedReadMetrics.getHedgedReadWins();<a name="line.773"></a>
+<span class="sourceLineNo">774</span>  }<a name="line.774"></a>
+<span class="sourceLineNo">775</span><a name="line.775"></a>
+<span class="sourceLineNo">776</span>  @Override<a name="line.776"></a>
+<span class="sourceLineNo">777</span>  public long getBlockedRequestsCount() {<a name="line.777"></a>
+<span class="sourceLineNo">778</span>    return blockedRequestsCount;<a name="line.778"></a>
+<span class="sourceLineNo">779</span>  }<a name="line.779"></a>
+<span class="sourceLineNo">780</span>}<a name="line.780"></a>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 3b498d7..c6f2f44 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 = "format", type = "String"),<a name="line.62"></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 = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></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">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">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,23 +116,23 @@
 <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>    // 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">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">113</span>    {<a name="line.113"></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">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">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></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">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">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></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">130</span>    {<a name="line.130"></a>
@@ -150,125 +150,125 @@
 <span class="sourceLineNo">142</span>      return m_serverManager__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>    // 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">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">147</span>    {<a name="line.147"></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">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">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></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">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">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 24, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.163"></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">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 24, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_deadServers = deadServers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_deadServers__IsNotDefault = true;<a name="line.167"></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">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_deadServers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getDeadServers__IsNotDefault()<a name="line.174"></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">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_deadServers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_deadServers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">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">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 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">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private 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">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_metaLocation__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>
-<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 26, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_filter = filter;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_filter__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public String getFilter()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_filter;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private String m_filter;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getFilter__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
+<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_metaLocation__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
+<span class="sourceLineNo">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">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">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">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">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">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 26, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFilter(String filter)<a name="line.231"></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">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 26, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_filter = filter;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_filter__IsNotDefault = true;<a name="line.235"></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">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFilter()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_filter;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_filter;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFilter__IsNotDefault()<a name="line.242"></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">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_filter__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_filter__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></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">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></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">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></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">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__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,10 +280,10 @@
 <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 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">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">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<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>
@@ -294,52 +294,52 @@
 <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 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">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">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.297"></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">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<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 boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected 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">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected String filter;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setFilter(p_filter);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
+<span class="sourceLineNo">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">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<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 filter;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.325"></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">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFilter(p_filter);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<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 List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></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">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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/670bf1f0/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 046f180..cdbd3e42 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 String format;<a name="line.63"></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 Map&lt;String,Integer&gt; frags;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final boolean catalogJanitorEnabled;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private final ServerName metaLocation;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private final AssignmentManager assignmentManager;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private final String filter;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final List&lt;ServerName&gt; servers;<a name="line.71"></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">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">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.getFormat__IsNotDefault())<a name="line.101"></a>
+<span class="sourceLineNo">101</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      p_implData.setFormat("html");<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      p_implData.setFrags(null);<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">106</span>    {<a name="line.106"></a>
 <span class="sourceLineNo">107</span>      p_implData.setServerManager(null);<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.109"></a>
+<span class="sourceLineNo">109</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      p_implData.setFrags(null);<a name="line.111"></a>
+<span class="sourceLineNo">111</span>      p_implData.setAssignmentManager(null);<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      p_implData.setDeadServers(null);<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      p_implData.setServers(null);<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.117"></a>
+<span class="sourceLineNo">117</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.119"></a>
+<span class="sourceLineNo">119</span>      p_implData.setMetaLocation(null);<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.121"></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.setMetaLocation(null);<a name="line.123"></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.getAssignmentManager__IsNotDefault())<a name="line.125"></a>
+<span class="sourceLineNo">125</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      p_implData.setAssignmentManager(null);<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      p_implData.setDeadServers(null);<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.129"></a>
+<span class="sourceLineNo">129</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      p_implData.setFilter("general");<a name="line.131"></a>
+<span class="sourceLineNo">131</span>      p_implData.setFormat("html");<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.133"></a>
+<span class="sourceLineNo">133</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      p_implData.setServers(null);<a name="line.135"></a>
+<span class="sourceLineNo">135</span>      p_implData.setCatalogJanitorEnabled(true);<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>    format = p_implData.getFormat();<a name="line.143"></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>    frags = p_implData.getFrags();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    deadServers = p_implData.getDeadServers();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    metaLocation = p_implData.getMetaLocation();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    filter = p_implData.getFilter();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    servers = p_implData.getServers();<a name="line.151"></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">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">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>
@@ -170,8 +170,8 @@
 <span class="sourceLineNo">162</span>      // 60, 3<a name="line.162"></a>
 <span class="sourceLineNo">163</span>      {<a name="line.163"></a>
 <span class="sourceLineNo">164</span>        org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_6 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        __jamon__var_6.setFilter(filter);<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        __jamon__var_6.setFormat("json" );<a name="line.166"></a>
+<span class="sourceLineNo">165</span>        __jamon__var_6.setFormat("json" );<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        __jamon__var_6.setFilter(filter);<a name="line.166"></a>
 <span class="sourceLineNo">167</span>        __jamon__var_6.renderNoFlush(jamonWriter);<a name="line.167"></a>
 <span class="sourceLineNo">168</span>      }<a name="line.168"></a>
 <span class="sourceLineNo">169</span>      // 60, 68<a name="line.169"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 da81736..f1ce24d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></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">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>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
+<span class="sourceLineNo">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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_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">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></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">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></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">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></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">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcn__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>
-<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 22, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_format = format;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_format__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFormat()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_format;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFormat__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_format__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_format__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
+<span class="sourceLineNo">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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></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">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String format;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFormat(p_format);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 da81736..f1ce24d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "filter", type = "String")})<a name="line.31"></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">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>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
+<span class="sourceLineNo">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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_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">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></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">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></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">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></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">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 21, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setFilter(String filter)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_bcn__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>
-<span class="sourceLineNo">126</span>      // 21, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_filter = filter;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_filter__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 22, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_format = format;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_format__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getFilter()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getFormat()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_filter;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_format;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getFilter__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getFormat__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_filter__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_format__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_filter__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_format__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
+<span class="sourceLineNo">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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
-<span class="sourceLineNo">158</span>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></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">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>
-<span class="sourceLineNo">172</span>  protected String filter;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String format;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setFilter(p_filter);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setFormat(p_format);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
index 987e605..8071fa7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" target="_top">Frames</a></li>
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1513">PerformanceEvaluation.FilteredScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1647">PerformanceEvaluation.FilteredScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -202,7 +202,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -231,7 +231,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1514">LOG</a></pre>
+<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1648">LOG</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.FilteredScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1516">PerformanceEvaluation.FilteredScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1650">PerformanceEvaluation.FilteredScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                       <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                       <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -267,7 +267,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1521">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1655">testRow</a>(int&nbsp;i)
        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>
@@ -282,7 +282,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>constructScan</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Scan&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1535">constructScan</a>(byte[]&nbsp;valuePrefix)
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Scan&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html#line.1669">constructScan</a>(byte[]&nbsp;valuePrefix)
                                                      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>
@@ -315,7 +315,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
new file mode 100644
index 0000000..9d85bfe
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html
@@ -0,0 +1,328 @@
+<!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>PerformanceEvaluation.IncrementTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.IncrementTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.IncrementTest.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/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.IncrementTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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</div>
+<h2 title="Class PerformanceEvaluation.IncrementTest" class="title">Class PerformanceEvaluation.IncrementTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.IncrementTest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1516">PerformanceEvaluation.IncrementTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#PerformanceEvaluation.IncrementTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.IncrementTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#testRow(int)">testRow</a></strong>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PerformanceEvaluation.IncrementTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.IncrementTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.1517">PerformanceEvaluation.IncrementTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                   <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                   <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRow(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRow</h4>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html#line.1522">testRow</a>(int&nbsp;i)
+       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>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</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/PerformanceEvaluation.IncrementTest.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/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.IncrementTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
index 230cadb..37aa44a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1334">PerformanceEvaluation.RandomReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1359">PerformanceEvaluation.RandomReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -214,7 +214,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -243,7 +243,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>consistency</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1335">consistency</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.client.Consistency <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1360">consistency</a></pre>
 </li>
 </ul>
 <a name="gets">
@@ -252,7 +252,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>gets</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1336">gets</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.hbase.client.Get&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1361">gets</a></pre>
 </li>
 </ul>
 <a name="rd">
@@ -261,7 +261,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rd</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1337">rd</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1362">rd</a></pre>
 </li>
 </ul>
 </li>
@@ -278,7 +278,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1339">PerformanceEvaluation.RandomReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1364">PerformanceEvaluation.RandomReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -297,7 +297,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1349">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1374">testRow</a>(int&nbsp;i)
        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
               <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -314,7 +314,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1377">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1402">getReportingPeriod</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
@@ -327,7 +327,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1383">testTakedown</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html#line.1408">testTakedown</a>()
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -362,7 +362,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
index 6862180..ea7a88c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html
@@ -114,7 +114,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1323">PerformanceEvaluation.RandomScanWithRange10000Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1348">PerformanceEvaluation.RandomScanWithRange10000Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -199,7 +199,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -228,7 +228,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomScanWithRange10000Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1324">PerformanceEvaluation.RandomScanWithRange10000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1349">PerformanceEvaluation.RandomScanWithRange10000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                                   <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                                   <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1329">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10000Test.html#line.1354">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow()">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
index e71c911..c80f425 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html
@@ -114,7 +114,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1312">PerformanceEvaluation.RandomScanWithRange1000Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1337">PerformanceEvaluation.RandomScanWithRange1000Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -199,7 +199,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -228,7 +228,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomScanWithRange1000Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1313">PerformanceEvaluation.RandomScanWithRange1000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1338">PerformanceEvaluation.RandomScanWithRange1000Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1318">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange1000Test.html#line.1343">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow()">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
index e697046..cec4a07 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html
@@ -114,7 +114,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1301">PerformanceEvaluation.RandomScanWithRange100Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1326">PerformanceEvaluation.RandomScanWithRange100Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -199,7 +199,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -228,7 +228,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomScanWithRange100Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1302">PerformanceEvaluation.RandomScanWithRange100Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1327">PerformanceEvaluation.RandomScanWithRange100Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                                 <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1307">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange100Test.html#line.1332">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow()">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
index 3ca29a1..371c4c7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html
@@ -114,7 +114,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1290">PerformanceEvaluation.RandomScanWithRange10Test</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1315">PerformanceEvaluation.RandomScanWithRange10Test</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></pre>
 </li>
 </ul>
@@ -199,7 +199,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -228,7 +228,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomScanWithRange10Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1291">PerformanceEvaluation.RandomScanWithRange10Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1316">PerformanceEvaluation.RandomScanWithRange10Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -247,7 +247,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Rando
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1296">getStartAndStopRow</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRange10Test.html#line.1321">getStartAndStopRow</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#getStartAndStopRow()">getStartAndStopRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
index 817192e..38a4d64 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html
@@ -113,7 +113,7 @@
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1241">PerformanceEvaluation.RandomScanWithRangeTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1266">PerformanceEvaluation.RandomScanWithRangeTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -203,7 +203,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -232,7 +232,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomScanWithRangeTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1242">PerformanceEvaluation.RandomScanWithRangeTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1267">PerformanceEvaluation.RandomScanWithRangeTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                              <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -251,7 +251,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1247">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1272">testRow</a>(int&nbsp;i)
        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>
@@ -266,7 +266,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartAndStopRow</h4>
-<pre>protected abstract&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1275">getStartAndStopRow</a>()</pre>
+<pre>protected abstract&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1300">getStartAndStopRow</a>()</pre>
 </li>
 </ul>
 <a name="generateStartAndStopRows(int)">
@@ -275,7 +275,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>generateStartAndStopRows</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1277">generateStartAndStopRows</a>(int&nbsp;maxRange)</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.util.Pair&lt;byte[],byte[]&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1302">generateStartAndStopRows</a>(int&nbsp;maxRange)</pre>
 </li>
 </ul>
 <a name="getReportingPeriod()">
@@ -284,7 +284,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1284">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html#line.1309">getReportingPeriod</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
index 86fc603..bca9764 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1206">PerformanceEvaluation.RandomSeekScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1231">PerformanceEvaluation.RandomSeekScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -191,7 +191,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop
 /hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../o
 rg/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -220,7 +220,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomSeekScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1207">PerformanceEvaluation.RandomSeekScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1232">PerformanceEvaluation.RandomSeekScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -239,7 +239,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1212">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1237">testRow</a>(int&nbsp;i)
        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>
@@ -254,7 +254,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1234">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html#line.1259">getReportingPeriod</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306</span

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">3306</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testapidocs/src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testapidocs/src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html b/testapidocs/src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html
index e99da02..ffdff4d 100644
--- a/testapidocs/src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html
+++ b/testapidocs/src-html/org/apache/hadoop/hbase/HBaseTestingUtility.html
@@ -1882,2099 +1882,2102 @@
 <span class="sourceLineNo">1874</span>   */<a name="line.1874"></a>
 <span class="sourceLineNo">1875</span>  public HTable truncateTable(final TableName tableName, final boolean preserveRegions) throws IOException {<a name="line.1875"></a>
 <span class="sourceLineNo">1876</span>    Admin admin = getHBaseAdmin();<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>    admin.truncateTable(tableName, preserveRegions);<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>    return (HTable) getConnection().getTable(tableName);<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>  }<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span><a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>  /**<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>   * Truncate a table using the admin command.<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>   * Effectively disables, deletes, and recreates the table.<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>   * For previous behavior of issuing row deletes, see<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>   * deleteTableData.<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>   * Expressly does not preserve regions of existing table.<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>   * @param tableName table which must exist.<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>   * @return HTable for the new table<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>   */<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>  public HTable truncateTable(final TableName tableName) throws IOException {<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>    return truncateTable(tableName, false);<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>  }<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span><a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>  /**<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>   * Load table with rows from 'aaa' to 'zzz'.<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>   * @param t Table<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>   * @param f Family<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span>   * @return Count of rows loaded.<a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>   * @throws IOException<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>   */<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  public int loadTable(final Table t, final byte[] f) throws IOException {<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>    return loadTable(t, new byte[][] {f});<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>  }<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span><a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>  /**<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>   * Load table with rows from 'aaa' to 'zzz'.<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>   * @param t Table<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>   * @param f Family<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>   * @return Count of rows loaded.<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>   * @throws IOException<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>   */<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>  public int loadTable(final Table t, final byte[] f, boolean writeToWAL) throws IOException {<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>    return loadTable(t, new byte[][] {f}, null, writeToWAL);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>  }<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span><a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>  /**<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>   * @param t Table<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>   * @param f Array of Families to load<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>   * @return Count of rows loaded.<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>   * @throws IOException<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>   */<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>  public int loadTable(final Table t, final byte[][] f) throws IOException {<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>    return loadTable(t, f, null);<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>  }<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span><a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>  /**<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>   * @param t Table<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span>   * @param f Array of Families to load<a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>   * @param value the values of the cells. If null is passed, the row key is used as value<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>   * @return Count of rows loaded.<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>   * @throws IOException<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>   */<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>  public int loadTable(final Table t, final byte[][] f, byte[] value) throws IOException {<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>    return loadTable(t, f, value, true);<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span>  }<a name="line.1937"></a>
-<span class="sourceLineNo">1938</span><a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>  /**<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>   * @param t Table<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>   * @param f Array of Families to load<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>   * @param value the values of the cells. If null is passed, the row key is used as value<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>   * @return Count of rows loaded.<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>   * @throws IOException<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>   */<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>  public int loadTable(final Table t, final byte[][] f, byte[] value, boolean writeToWAL) throws IOException {<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>    List&lt;Put&gt; puts = new ArrayList&lt;&gt;();<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>    for (byte[] row : HBaseTestingUtility.ROWS) {<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>      Put put = new Put(row);<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>      put.setDurability(writeToWAL ? Durability.USE_DEFAULT : Durability.SKIP_WAL);<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>      for (int i = 0; i &lt; f.length; i++) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>        byte[] value1 = value != null ? value : row;<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>        put.addColumn(f[i], null, value1);<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>      }<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>      puts.add(put);<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>    }<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>    t.put(puts);<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>    return puts.size();<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>  }<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span><a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>  /** A tracker for tracking and validating table rows<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>   * generated with {@link HBaseTestingUtility#loadTable(HTable, byte[])}<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>   */<a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>  public static class SeenRowTracker {<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>    int dim = 'z' - 'a' + 1;<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span>    int[][][] seenRows = new int[dim][dim][dim]; //count of how many times the row is seen<a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>    byte[] startRow;<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>    byte[] stopRow;<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span><a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>    public SeenRowTracker(byte[] startRow, byte[] stopRow) {<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>      this.startRow = startRow;<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>      this.stopRow = stopRow;<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>    }<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span><a name="line.1975"></a>
-<span class="sourceLineNo">1976</span>    void reset() {<a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>      for (byte[] row : ROWS) {<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>        seenRows[i(row[0])][i(row[1])][i(row[2])] = 0;<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>      }<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span>    }<a name="line.1980"></a>
-<span class="sourceLineNo">1981</span><a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    int i(byte b) {<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>      return b - 'a';<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span>    }<a name="line.1984"></a>
-<span class="sourceLineNo">1985</span><a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>    public void addRow(byte[] row) {<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span>      seenRows[i(row[0])][i(row[1])][i(row[2])]++;<a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>    }<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span><a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>    /** Validate that all the rows between startRow and stopRow are seen exactly once, and<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span>     * all other rows none<a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>     */<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>    public void validate() {<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span>      for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>        for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>          for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>            int count = seenRows[i(b1)][i(b2)][i(b3)];<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>            int expectedCount = 0;<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>            if (Bytes.compareTo(new byte[] {b1,b2,b3}, startRow) &gt;= 0<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span>                &amp;&amp; Bytes.compareTo(new byte[] {b1,b2,b3}, stopRow) &lt; 0) {<a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>              expectedCount = 1;<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>            }<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>            if (count != expectedCount) {<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>              String row = new String(new byte[] {b1,b2,b3});<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>              throw new RuntimeException("Row:" + row + " has a seen count of " + count + " instead of " + expectedCount);<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>            }<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span>          }<a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>        }<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>      }<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>    }<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>  }<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span><a name="line.2012"></a>
-<span class="sourceLineNo">2013</span>  public int loadRegion(final HRegion r, final byte[] f) throws IOException {<a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>    return loadRegion(r, f, false);<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>  }<a name="line.2015"></a>
-<span class="sourceLineNo">2016</span><a name="line.2016"></a>
-<span class="sourceLineNo">2017</span>  public int loadRegion(final Region r, final byte[] f) throws IOException {<a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>    return loadRegion((HRegion)r, f);<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>  }<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span><a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>  /**<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span>   * Load region with rows from 'aaa' to 'zzz'.<a name="line.2022"></a>
-<span class="sourceLineNo">2023</span>   * @param r Region<a name="line.2023"></a>
-<span class="sourceLineNo">2024</span>   * @param f Family<a name="line.2024"></a>
-<span class="sourceLineNo">2025</span>   * @param flush flush the cache if true<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span>   * @return Count of rows loaded.<a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>   * @throws IOException<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>   */<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>  public int loadRegion(final HRegion r, final byte[] f, final boolean flush)<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>  throws IOException {<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span>    byte[] k = new byte[3];<a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>    int rowCount = 0;<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>      for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span>        for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>          k[0] = b1;<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>          k[1] = b2;<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>          k[2] = b3;<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>          Put put = new Put(k);<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>          put.setDurability(Durability.SKIP_WAL);<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>          put.addColumn(f, null, k);<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span>          if (r.getWAL() == null) {<a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>            put.setDurability(Durability.SKIP_WAL);<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>          }<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>          int preRowCount = rowCount;<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span>          int pause = 10;<a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>          int maxPause = 1000;<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>          while (rowCount == preRowCount) {<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>            try {<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>              r.put(put);<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>              rowCount++;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>            } catch (RegionTooBusyException e) {<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span>              pause = (pause * 2 &gt;= maxPause) ? maxPause : pause * 2;<a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>              Threads.sleep(pause);<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>            }<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>          }<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>        }<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span>      }<a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>      if (flush) {<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>        r.flush(true);<a name="line.2060"></a>
+<span class="sourceLineNo">1877</span>    if (!admin.isTableDisabled(tableName)) {<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>      admin.disableTable(tableName);<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>    }<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>    admin.truncateTable(tableName, preserveRegions);<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span>    return (HTable) getConnection().getTable(tableName);<a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>  }<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span><a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>  /**<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>   * Truncate a table using the admin command.<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>   * Effectively disables, deletes, and recreates the table.<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>   * For previous behavior of issuing row deletes, see<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span>   * deleteTableData.<a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>   * Expressly does not preserve regions of existing table.<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>   * @param tableName table which must exist.<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>   * @return HTable for the new table<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>   */<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span>  public HTable truncateTable(final TableName tableName) throws IOException {<a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>    return truncateTable(tableName, false);<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>  }<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span><a name="line.1896"></a>
+<span class="sourceLineNo">1897</span>  /**<a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>   * Load table with rows from 'aaa' to 'zzz'.<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>   * @param t Table<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span>   * @param f Family<a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>   * @return Count of rows loaded.<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>   * @throws IOException<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>   */<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>  public int loadTable(final Table t, final byte[] f) throws IOException {<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    return loadTable(t, new byte[][] {f});<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>  }<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span><a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>  /**<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>   * Load table with rows from 'aaa' to 'zzz'.<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>   * @param t Table<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>   * @param f Family<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>   * @return Count of rows loaded.<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>   * @throws IOException<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>   */<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>  public int loadTable(final Table t, final byte[] f, boolean writeToWAL) throws IOException {<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>    return loadTable(t, new byte[][] {f}, null, writeToWAL);<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>  }<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span><a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>  /**<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>   * @param t Table<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>   * @param f Array of Families to load<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>   * @return Count of rows loaded.<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>   * @throws IOException<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>   */<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>  public int loadTable(final Table t, final byte[][] f) throws IOException {<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>    return loadTable(t, f, null);<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>  }<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span><a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>  /**<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span>   * @param t Table<a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>   * @param f Array of Families to load<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>   * @param value the values of the cells. If null is passed, the row key is used as value<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>   * @return Count of rows loaded.<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>   * @throws IOException<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>   */<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>  public int loadTable(final Table t, final byte[][] f, byte[] value) throws IOException {<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span>    return loadTable(t, f, value, true);<a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>  }<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span><a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>  /**<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>   * Load table of multiple column families with rows from 'aaa' to 'zzz'.<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>   * @param t Table<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>   * @param f Array of Families to load<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>   * @param value the values of the cells. If null is passed, the row key is used as value<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>   * @return Count of rows loaded.<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>   * @throws IOException<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>   */<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>  public int loadTable(final Table t, final byte[][] f, byte[] value, boolean writeToWAL) throws IOException {<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>    List&lt;Put&gt; puts = new ArrayList&lt;&gt;();<a name="line.1951"></a>
+<span class="sourceLineNo">1952</span>    for (byte[] row : HBaseTestingUtility.ROWS) {<a name="line.1952"></a>
+<span class="sourceLineNo">1953</span>      Put put = new Put(row);<a name="line.1953"></a>
+<span class="sourceLineNo">1954</span>      put.setDurability(writeToWAL ? Durability.USE_DEFAULT : Durability.SKIP_WAL);<a name="line.1954"></a>
+<span class="sourceLineNo">1955</span>      for (int i = 0; i &lt; f.length; i++) {<a name="line.1955"></a>
+<span class="sourceLineNo">1956</span>        byte[] value1 = value != null ? value : row;<a name="line.1956"></a>
+<span class="sourceLineNo">1957</span>        put.addColumn(f[i], null, value1);<a name="line.1957"></a>
+<span class="sourceLineNo">1958</span>      }<a name="line.1958"></a>
+<span class="sourceLineNo">1959</span>      puts.add(put);<a name="line.1959"></a>
+<span class="sourceLineNo">1960</span>    }<a name="line.1960"></a>
+<span class="sourceLineNo">1961</span>    t.put(puts);<a name="line.1961"></a>
+<span class="sourceLineNo">1962</span>    return puts.size();<a name="line.1962"></a>
+<span class="sourceLineNo">1963</span>  }<a name="line.1963"></a>
+<span class="sourceLineNo">1964</span><a name="line.1964"></a>
+<span class="sourceLineNo">1965</span>  /** A tracker for tracking and validating table rows<a name="line.1965"></a>
+<span class="sourceLineNo">1966</span>   * generated with {@link HBaseTestingUtility#loadTable(HTable, byte[])}<a name="line.1966"></a>
+<span class="sourceLineNo">1967</span>   */<a name="line.1967"></a>
+<span class="sourceLineNo">1968</span>  public static class SeenRowTracker {<a name="line.1968"></a>
+<span class="sourceLineNo">1969</span>    int dim = 'z' - 'a' + 1;<a name="line.1969"></a>
+<span class="sourceLineNo">1970</span>    int[][][] seenRows = new int[dim][dim][dim]; //count of how many times the row is seen<a name="line.1970"></a>
+<span class="sourceLineNo">1971</span>    byte[] startRow;<a name="line.1971"></a>
+<span class="sourceLineNo">1972</span>    byte[] stopRow;<a name="line.1972"></a>
+<span class="sourceLineNo">1973</span><a name="line.1973"></a>
+<span class="sourceLineNo">1974</span>    public SeenRowTracker(byte[] startRow, byte[] stopRow) {<a name="line.1974"></a>
+<span class="sourceLineNo">1975</span>      this.startRow = startRow;<a name="line.1975"></a>
+<span class="sourceLineNo">1976</span>      this.stopRow = stopRow;<a name="line.1976"></a>
+<span class="sourceLineNo">1977</span>    }<a name="line.1977"></a>
+<span class="sourceLineNo">1978</span><a name="line.1978"></a>
+<span class="sourceLineNo">1979</span>    void reset() {<a name="line.1979"></a>
+<span class="sourceLineNo">1980</span>      for (byte[] row : ROWS) {<a name="line.1980"></a>
+<span class="sourceLineNo">1981</span>        seenRows[i(row[0])][i(row[1])][i(row[2])] = 0;<a name="line.1981"></a>
+<span class="sourceLineNo">1982</span>      }<a name="line.1982"></a>
+<span class="sourceLineNo">1983</span>    }<a name="line.1983"></a>
+<span class="sourceLineNo">1984</span><a name="line.1984"></a>
+<span class="sourceLineNo">1985</span>    int i(byte b) {<a name="line.1985"></a>
+<span class="sourceLineNo">1986</span>      return b - 'a';<a name="line.1986"></a>
+<span class="sourceLineNo">1987</span>    }<a name="line.1987"></a>
+<span class="sourceLineNo">1988</span><a name="line.1988"></a>
+<span class="sourceLineNo">1989</span>    public void addRow(byte[] row) {<a name="line.1989"></a>
+<span class="sourceLineNo">1990</span>      seenRows[i(row[0])][i(row[1])][i(row[2])]++;<a name="line.1990"></a>
+<span class="sourceLineNo">1991</span>    }<a name="line.1991"></a>
+<span class="sourceLineNo">1992</span><a name="line.1992"></a>
+<span class="sourceLineNo">1993</span>    /** Validate that all the rows between startRow and stopRow are seen exactly once, and<a name="line.1993"></a>
+<span class="sourceLineNo">1994</span>     * all other rows none<a name="line.1994"></a>
+<span class="sourceLineNo">1995</span>     */<a name="line.1995"></a>
+<span class="sourceLineNo">1996</span>    public void validate() {<a name="line.1996"></a>
+<span class="sourceLineNo">1997</span>      for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.1997"></a>
+<span class="sourceLineNo">1998</span>        for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.1998"></a>
+<span class="sourceLineNo">1999</span>          for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.1999"></a>
+<span class="sourceLineNo">2000</span>            int count = seenRows[i(b1)][i(b2)][i(b3)];<a name="line.2000"></a>
+<span class="sourceLineNo">2001</span>            int expectedCount = 0;<a name="line.2001"></a>
+<span class="sourceLineNo">2002</span>            if (Bytes.compareTo(new byte[] {b1,b2,b3}, startRow) &gt;= 0<a name="line.2002"></a>
+<span class="sourceLineNo">2003</span>                &amp;&amp; Bytes.compareTo(new byte[] {b1,b2,b3}, stopRow) &lt; 0) {<a name="line.2003"></a>
+<span class="sourceLineNo">2004</span>              expectedCount = 1;<a name="line.2004"></a>
+<span class="sourceLineNo">2005</span>            }<a name="line.2005"></a>
+<span class="sourceLineNo">2006</span>            if (count != expectedCount) {<a name="line.2006"></a>
+<span class="sourceLineNo">2007</span>              String row = new String(new byte[] {b1,b2,b3});<a name="line.2007"></a>
+<span class="sourceLineNo">2008</span>              throw new RuntimeException("Row:" + row + " has a seen count of " + count + " instead of " + expectedCount);<a name="line.2008"></a>
+<span class="sourceLineNo">2009</span>            }<a name="line.2009"></a>
+<span class="sourceLineNo">2010</span>          }<a name="line.2010"></a>
+<span class="sourceLineNo">2011</span>        }<a name="line.2011"></a>
+<span class="sourceLineNo">2012</span>      }<a name="line.2012"></a>
+<span class="sourceLineNo">2013</span>    }<a name="line.2013"></a>
+<span class="sourceLineNo">2014</span>  }<a name="line.2014"></a>
+<span class="sourceLineNo">2015</span><a name="line.2015"></a>
+<span class="sourceLineNo">2016</span>  public int loadRegion(final HRegion r, final byte[] f) throws IOException {<a name="line.2016"></a>
+<span class="sourceLineNo">2017</span>    return loadRegion(r, f, false);<a name="line.2017"></a>
+<span class="sourceLineNo">2018</span>  }<a name="line.2018"></a>
+<span class="sourceLineNo">2019</span><a name="line.2019"></a>
+<span class="sourceLineNo">2020</span>  public int loadRegion(final Region r, final byte[] f) throws IOException {<a name="line.2020"></a>
+<span class="sourceLineNo">2021</span>    return loadRegion((HRegion)r, f);<a name="line.2021"></a>
+<span class="sourceLineNo">2022</span>  }<a name="line.2022"></a>
+<span class="sourceLineNo">2023</span><a name="line.2023"></a>
+<span class="sourceLineNo">2024</span>  /**<a name="line.2024"></a>
+<span class="sourceLineNo">2025</span>   * Load region with rows from 'aaa' to 'zzz'.<a name="line.2025"></a>
+<span class="sourceLineNo">2026</span>   * @param r Region<a name="line.2026"></a>
+<span class="sourceLineNo">2027</span>   * @param f Family<a name="line.2027"></a>
+<span class="sourceLineNo">2028</span>   * @param flush flush the cache if true<a name="line.2028"></a>
+<span class="sourceLineNo">2029</span>   * @return Count of rows loaded.<a name="line.2029"></a>
+<span class="sourceLineNo">2030</span>   * @throws IOException<a name="line.2030"></a>
+<span class="sourceLineNo">2031</span>   */<a name="line.2031"></a>
+<span class="sourceLineNo">2032</span>  public int loadRegion(final HRegion r, final byte[] f, final boolean flush)<a name="line.2032"></a>
+<span class="sourceLineNo">2033</span>  throws IOException {<a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>    byte[] k = new byte[3];<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    int rowCount = 0;<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>    for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span>      for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>        for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>          k[0] = b1;<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>          k[1] = b2;<a name="line.2040"></a>
+<span class="sourceLineNo">2041</span>          k[2] = b3;<a name="line.2041"></a>
+<span class="sourceLineNo">2042</span>          Put put = new Put(k);<a name="line.2042"></a>
+<span class="sourceLineNo">2043</span>          put.setDurability(Durability.SKIP_WAL);<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span>          put.addColumn(f, null, k);<a name="line.2044"></a>
+<span class="sourceLineNo">2045</span>          if (r.getWAL() == null) {<a name="line.2045"></a>
+<span class="sourceLineNo">2046</span>            put.setDurability(Durability.SKIP_WAL);<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>          }<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span>          int preRowCount = rowCount;<a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>          int pause = 10;<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>          int maxPause = 1000;<a name="line.2050"></a>
+<span class="sourceLineNo">2051</span>          while (rowCount == preRowCount) {<a name="line.2051"></a>
+<span class="sourceLineNo">2052</span>            try {<a name="line.2052"></a>
+<span class="sourceLineNo">2053</span>              r.put(put);<a name="line.2053"></a>
+<span class="sourceLineNo">2054</span>              rowCount++;<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span>            } catch (RegionTooBusyException e) {<a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>              pause = (pause * 2 &gt;= maxPause) ? maxPause : pause * 2;<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>              Threads.sleep(pause);<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>            }<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>          }<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span>        }<a name="line.2060"></a>
 <span class="sourceLineNo">2061</span>      }<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>    }<a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>    return rowCount;<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>  }<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span><a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>  public void loadNumericRows(final Table t, final byte[] f, int startRow, int endRow)<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>      throws IOException {<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>      Put put = new Put(data);<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>      put.addColumn(f, null, data);<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>      t.put(put);<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>    }<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span>  }<a name="line.2074"></a>
-<span class="sourceLineNo">2075</span><a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>  public void verifyNumericRows(Table table, final byte[] f, int startRow, int endRow,<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span>      int replicaId)<a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>      throws IOException {<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2079"></a>
-<span class="sourceLineNo">2080</span>      String failMsg = "Failed verification of row :" + i;<a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>      Get get = new Get(data);<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      get.setReplicaId(replicaId);<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>      get.setConsistency(Consistency.TIMELINE);<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span>      Result result = table.get(get);<a name="line.2085"></a>
-<span class="sourceLineNo">2086</span>      assertTrue(failMsg, result.containsColumn(f, null));<a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>      assertEquals(failMsg, result.getColumnCells(f, null).size(), 1);<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>      Cell cell = result.getColumnLatestCell(f, null);<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>      assertTrue(failMsg,<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>        Bytes.equals(data, 0, data.length, cell.getValueArray(), cell.getValueOffset(),<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span>          cell.getValueLength()));<a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>    }<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span>  }<a name="line.2093"></a>
-<span class="sourceLineNo">2094</span><a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>  public void verifyNumericRows(Region region, final byte[] f, int startRow, int endRow)<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span>      throws IOException {<a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>    verifyNumericRows((HRegion)region, f, startRow, endRow);<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>  }<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span><a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>  public void verifyNumericRows(HRegion region, final byte[] f, int startRow, int endRow)<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>      throws IOException {<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>    verifyNumericRows(region, f, startRow, endRow, true);<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>  }<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span><a name="line.2104"></a>
-<span class="sourceLineNo">2105</span>  public void verifyNumericRows(Region region, final byte[] f, int startRow, int endRow,<a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>      final boolean present) throws IOException {<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>    verifyNumericRows((HRegion)region, f, startRow, endRow, present);<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>  }<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span><a name="line.2109"></a>
-<span class="sourceLineNo">2110</span>  public void verifyNumericRows(HRegion region, final byte[] f, int startRow, int endRow,<a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>      final boolean present) throws IOException {<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>      String failMsg = "Failed verification of row :" + i;<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>      Result result = region.get(new Get(data));<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span><a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>      boolean hasResult = result != null &amp;&amp; !result.isEmpty();<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>      assertEquals(failMsg + result, present, hasResult);<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>      if (!present) continue;<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span><a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>      assertTrue(failMsg, result.containsColumn(f, null));<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>      assertEquals(failMsg, result.getColumnCells(f, null).size(), 1);<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>      Cell cell = result.getColumnLatestCell(f, null);<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>      assertTrue(failMsg,<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>        Bytes.equals(data, 0, data.length, cell.getValueArray(), cell.getValueOffset(),<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>          cell.getValueLength()));<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span>    }<a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>  }<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span><a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>  public void deleteNumericRows(final Table t, final byte[] f, int startRow, int endRow)<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>      throws IOException {<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>      Delete delete = new Delete(data);<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>      delete.addFamily(f);<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>      t.delete(delete);<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>    }<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>  }<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span><a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>  /**<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>   * Return the number of rows in the given table.<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>   */<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>  public int countRows(final Table table) throws IOException {<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>    return countRows(table, new Scan());<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>  }<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span><a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>  public int countRows(final Table table, final Scan scan) throws IOException {<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span>    ResultScanner results = table.getScanner(scan);<a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>    int count = 0;<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>    for (@SuppressWarnings("unused") Result res : results) {<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>      count++;<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>    }<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    results.close();<a name="line.2153"></a>
-<span class="sourceLineNo">2154</span>    return count;<a name="line.2154"></a>
-<span class="sourceLineNo">2155</span>  }<a name="line.2155"></a>
-<span class="sourceLineNo">2156</span><a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  public int countRows(final Table table, final byte[]... families) throws IOException {<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>    Scan scan = new Scan();<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>    for (byte[] family: families) {<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span>      scan.addFamily(family);<a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>    }<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>    ResultScanner results = table.getScanner(scan);<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>    int count = 0;<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>    for (@SuppressWarnings("unused") Result res : results) {<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>      count++;<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>    }<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span>    results.close();<a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>    return count;<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>  }<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span><a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>  /**<a name="line.2171"></a>
-<span class="sourceLineNo">2172</span>   * Return the number of rows in the given table.<a name="line.2172"></a>
-<span class="sourceLineNo">2173</span>   */<a name="line.2173"></a>
-<span class="sourceLineNo">2174</span>  public int countRows(final TableName tableName) throws IOException {<a name="line.2174"></a>
-<span class="sourceLineNo">2175</span>    Table table = getConnection().getTable(tableName);<a name="line.2175"></a>
-<span class="sourceLineNo">2176</span>    try {<a name="line.2176"></a>
-<span class="sourceLineNo">2177</span>      return countRows(table);<a name="line.2177"></a>
-<span class="sourceLineNo">2178</span>    } finally {<a name="line.2178"></a>
-<span class="sourceLineNo">2179</span>      table.close();<a name="line.2179"></a>
-<span class="sourceLineNo">2180</span>    }<a name="line.2180"></a>
-<span class="sourceLineNo">2181</span>  }<a name="line.2181"></a>
-<span class="sourceLineNo">2182</span><a name="line.2182"></a>
-<span class="sourceLineNo">2183</span>  /**<a name="line.2183"></a>
-<span class="sourceLineNo">2184</span>   * Return an md5 digest of the entire contents of a table.<a name="line.2184"></a>
-<span class="sourceLineNo">2185</span>   */<a name="line.2185"></a>
-<span class="sourceLineNo">2186</span>  public String checksumRows(final Table table) throws Exception {<a name="line.2186"></a>
-<span class="sourceLineNo">2187</span><a name="line.2187"></a>
-<span class="sourceLineNo">2188</span>    Scan scan = new Scan();<a name="line.2188"></a>
-<span class="sourceLineNo">2189</span>    ResultScanner results = table.getScanner(scan);<a name="line.2189"></a>
-<span class="sourceLineNo">2190</span>    MessageDigest digest = MessageDigest.getInstance("MD5");<a name="line.2190"></a>
-<span class="sourceLineNo">2191</span>    for (Result res : results) {<a name="line.2191"></a>
-<span class="sourceLineNo">2192</span>      digest.update(res.getRow());<a name="line.2192"></a>
-<span class="sourceLineNo">2193</span>    }<a name="line.2193"></a>
-<span class="sourceLineNo">2194</span>    results.close();<a name="line.2194"></a>
-<span class="sourceLineNo">2195</span>    return digest.toString();<a name="line.2195"></a>
-<span class="sourceLineNo">2196</span>  }<a name="line.2196"></a>
-<span class="sourceLineNo">2197</span><a name="line.2197"></a>
-<span class="sourceLineNo">2198</span>  /** All the row values for the data loaded by {@link #loadTable(HTable, byte[])} */<a name="line.2198"></a>
-<span class="sourceLineNo">2199</span>  public static final byte[][] ROWS = new byte[(int) Math.pow('z' - 'a' + 1, 3)][3]; // ~52KB<a name="line.2199"></a>
-<span class="sourceLineNo">2200</span>  static {<a name="line.2200"></a>
-<span class="sourceLineNo">2201</span>    int i = 0;<a name="line.2201"></a>
-<span class="sourceLineNo">2202</span>    for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.2202"></a>
-<span class="sourceLineNo">2203</span>      for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.2203"></a>
-<span class="sourceLineNo">2204</span>        for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.2204"></a>
-<span class="sourceLineNo">2205</span>          ROWS[i][0] = b1;<a name="line.2205"></a>
-<span class="sourceLineNo">2206</span>          ROWS[i][1] = b2;<a name="line.2206"></a>
-<span class="sourceLineNo">2207</span>          ROWS[i][2] = b3;<a name="line.2207"></a>
-<span class="sourceLineNo">2208</span>          i++;<a name="line.2208"></a>
-<span class="sourceLineNo">2209</span>        }<a name="line.2209"></a>
-<span class="sourceLineNo">2210</span>      }<a name="line.2210"></a>
-<span class="sourceLineNo">2211</span>    }<a name="line.2211"></a>
-<span class="sourceLineNo">2212</span>  }<a name="line.2212"></a>
-<span class="sourceLineNo">2213</span><a name="line.2213"></a>
-<span class="sourceLineNo">2214</span>  public static final byte[][] KEYS = {<a name="line.2214"></a>
-<span class="sourceLineNo">2215</span>    HConstants.EMPTY_BYTE_ARRAY, Bytes.toBytes("bbb"),<a name="line.2215"></a>
-<span class="sourceLineNo">2216</span>    Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.2216"></a>
-<span class="sourceLineNo">2217</span>    Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.2217"></a>
-<span class="sourceLineNo">2218</span>    Bytes.toBytes("iii"), Bytes.toBytes("jjj"), Bytes.toBytes("kkk"),<a name="line.2218"></a>
-<span class="sourceLineNo">2219</span>    Bytes.toBytes("lll"), Bytes.toBytes("mmm"), Bytes.toBytes("nnn"),<a name="line.2219"></a>
-<span class="sourceLineNo">2220</span>    Bytes.toBytes("ooo"), Bytes.toBytes("ppp"), Bytes.toBytes("qqq"),<a name="line.2220"></a>
-<span class="sourceLineNo">2221</span>    Bytes.toBytes("rrr"), Bytes.toBytes("sss"), Bytes.toBytes("ttt"),<a name="line.2221"></a>
-<span class="sourceLineNo">2222</span>    Bytes.toBytes("uuu"), Bytes.toBytes("vvv"), Bytes.toBytes("www"),<a name="line.2222"></a>
-<span class="sourceLineNo">2223</span>    Bytes.toBytes("xxx"), Bytes.toBytes("yyy")<a name="line.2223"></a>
-<span class="sourceLineNo">2224</span>  };<a name="line.2224"></a>
-<span class="sourceLineNo">2225</span><a name="line.2225"></a>
-<span class="sourceLineNo">2226</span>  public static final byte[][] KEYS_FOR_HBA_CREATE_TABLE = {<a name="line.2226"></a>
-<span class="sourceLineNo">2227</span>      Bytes.toBytes("bbb"),<a name="line.2227"></a>
-<span class="sourceLineNo">2228</span>      Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.2228"></a>
-<span class="sourceLineNo">2229</span>      Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.2229"></a>
-<span class="sourceLineNo">2230</span>      Bytes.toBytes("iii"), Bytes.toBytes("jjj"), Bytes.toBytes("kkk"),<a name="line.2230"></a>
-<span class="sourceLineNo">2231</span>      Bytes.toBytes("lll"), Bytes.toBytes("mmm"), Bytes.toBytes("nnn"),<a name="line.2231"></a>
-<span class="sourceLineNo">2232</span>      Bytes.toBytes("ooo"), Bytes.toBytes("ppp"), Bytes.toBytes("qqq"),<a name="line.2232"></a>
-<span class="sourceLineNo">2233</span>      Bytes.toBytes("rrr"), Bytes.toBytes("sss"), Bytes.toBytes("ttt"),<a name="line.2233"></a>
-<span class="sourceLineNo">2234</span>      Bytes.toBytes("uuu"), Bytes.toBytes("vvv"), Bytes.toBytes("www"),<a name="line.2234"></a>
-<span class="sourceLineNo">2235</span>      Bytes.toBytes("xxx"), Bytes.toBytes("yyy"), Bytes.toBytes("zzz")<a name="line.2235"></a>
-<span class="sourceLineNo">2236</span>  };<a name="line.2236"></a>
-<span class="sourceLineNo">2237</span><a name="line.2237"></a>
-<span class="sourceLineNo">2238</span>  /**<a name="line.2238"></a>
-<span class="sourceLineNo">2239</span>   * Create rows in hbase:meta for regions of the specified table with the specified<a name="line.2239"></a>
-<span class="sourceLineNo">2240</span>   * start keys.  The first startKey should be a 0 length byte array if you<a name="line.2240"></a>
-<span class="sourceLineNo">2241</span>   * want to form a proper range of regions.<a name="line.2241"></a>
-<span class="sourceLineNo">2242</span>   * @param conf<a name="line.2242"></a>
-<span class="sourceLineNo">2243</span>   * @param htd<a name="line.2243"></a>
-<span class="sourceLineNo">2244</span>   * @param startKeys<a name="line.2244"></a>
-<span class="sourceLineNo">2245</span>   * @return list of region info for regions added to meta<a name="line.2245"></a>
-<span class="sourceLineNo">2246</span>   * @throws IOException<a name="line.2246"></a>
-<span class="sourceLineNo">2247</span>   */<a name="line.2247"></a>
-<span class="sourceLineNo">2248</span>  public List&lt;HRegionInfo&gt; createMultiRegionsInMeta(final Configuration conf,<a name="line.2248"></a>
-<span class="sourceLineNo">2249</span>      final HTableDescriptor htd, byte [][] startKeys)<a name="line.2249"></a>
-<span class="sourceLineNo">2250</span>  throws IOException {<a name="line.2250"></a>
-<span class="sourceLineNo">2251</span>    Table meta = getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.2251"></a>
-<span class="sourceLineNo">2252</span>    Arrays.sort(startKeys, Bytes.BYTES_COMPARATOR);<a name="line.2252"></a>
-<span class="sourceLineNo">2253</span>    List&lt;HRegionInfo&gt; newRegions = new ArrayList&lt;HRegionInfo&gt;(startKeys.length);<a name="line.2253"></a>
-<span class="sourceLineNo">2254</span>    MetaTableAccessor<a name="line.2254"></a>
-<span class="sourceLineNo">2255</span>        .updateTableState(getConnection(), htd.getTableName(), TableState.State.ENABLED);<a name="line.2255"></a>
-<span class="sourceLineNo">2256</span>    // add custom ones<a name="line.2256"></a>
-<span class="sourceLineNo">2257</span>    for (int i = 0; i &lt; startKeys.length; i++) {<a name="line.2257"></a>
-<span class="sourceLineNo">2258</span>      int j = (i + 1) % startKeys.length;<a name="line.2258"></a>
-<span class="sourceLineNo">2259</span>      HRegionInfo hri = new HRegionInfo(htd.getTableName(), startKeys[i],<a name="line.2259"></a>
-<span class="sourceLineNo">2260</span>          startKeys[j]);<a name="line.2260"></a>
-<span class="sourceLineNo">2261</span>      MetaTableAccessor.addRegionToMeta(meta, hri);<a name="line.2261"></a>
-<span class="sourceLineNo">2262</span>      newRegions.add(hri);<a name="line.2262"></a>
-<span class="sourceLineNo">2263</span>    }<a name="line.2263"></a>
-<span class="sourceLineNo">2264</span><a name="line.2264"></a>
-<span class="sourceLineNo">2265</span>    meta.close();<a name="line.2265"></a>
-<span class="sourceLineNo">2266</span>    return newRegions;<a name="line.2266"></a>
-<span class="sourceLineNo">2267</span>  }<a name="line.2267"></a>
-<span class="sourceLineNo">2268</span><a name="line.2268"></a>
-<span class="sourceLineNo">2269</span>  /**<a name="line.2269"></a>
-<span class="sourceLineNo">2270</span>   * Create an unmanaged WAL. Be sure to close it when you're through.<a name="line.2270"></a>
-<span class="sourceLineNo">2271</span>   */<a name="line.2271"></a>
-<span class="sourceLineNo">2272</span>  public static WAL createWal(final Configuration conf, final Path rootDir, final HRegionInfo hri)<a name="line.2272"></a>
-<span class="sourceLineNo">2273</span>      throws IOException {<a name="line.2273"></a>
-<span class="sourceLineNo">2274</span>    // The WAL subsystem will use the default rootDir rather than the passed in rootDir<a name="line.2274"></a>
-<span class="sourceLineNo">2275</span>    // unless I pass along via the conf.<a name="line.2275"></a>
-<span class="sourceLineNo">2276</span>    Configuration confForWAL = new Configuration(conf);<a name="line.2276"></a>
-<span class="sourceLineNo">2277</span>    confForWAL.set(HConstants.HBASE_DIR, rootDir.toString());<a name="line.2277"></a>
-<span class="sourceLineNo">2278</span>    return (new WALFactory(confForWAL,<a name="line.2278"></a>
-<span class="sourceLineNo">2279</span>        Collections.&lt;WALActionsListener&gt;singletonList(new MetricsWAL()),<a name="line.2279"></a>
-<span class="sourceLineNo">2280</span>        "hregion-" + RandomStringUtils.randomNumeric(8))).<a name="line.2280"></a>
-<span class="sourceLineNo">2281</span>        getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace());<a name="line.2281"></a>
-<span class="sourceLineNo">2282</span>  }<a name="line.2282"></a>
-<span class="sourceLineNo">2283</span><a name="line.2283"></a>
-<span class="sourceLineNo">2284</span>  /**<a name="line.2284"></a>
-<span class="sourceLineNo">2285</span>   * Create a region with it's own WAL. Be sure to call<a name="line.2285"></a>
-<span class="sourceLineNo">2286</span>   * {@link HBaseTestingUtility#closeRegionAndWAL(HRegion)} to clean up all resources.<a name="line.2286"></a>
-<span class="sourceLineNo">2287</span>   */<a name="line.2287"></a>
-<span class="sourceLineNo">2288</span>  public static HRegion createRegionAndWAL(final HRegionInfo info, final Path rootDir,<a name="line.2288"></a>
-<span class="sourceLineNo">2289</span>      final Configuration conf, final HTableDescriptor htd) throws IOException {<a name="line.2289"></a>
-<span class="sourceLineNo">2290</span>    return createRegionAndWAL(info, rootDir, conf, htd, true);<a name="line.2290"></a>
-<span class="sourceLineNo">2291</span>  }<a name="line.2291"></a>
-<span class="sourceLineNo">2292</span><a name="line.2292"></a>
-<span class="sourceLineNo">2293</span>  /**<a name="line.2293"></a>
-<span class="sourceLineNo">2294</span>   * Create a region with it's own WAL. Be sure to call<a name="line.2294"></a>
-<span class="sourceLineNo">2295</span>   * {@link HBaseTestingUtility#closeRegionAndWAL(HRegion)} to clean up all resources.<a name="line.2295"></a>
-<span class="sourceLineNo">2296</span>   */<a name="line.2296"></a>
-<span class="sourceLineNo">2297</span>  public static HRegion createRegionAndWAL(final HRegionInfo info, final Path rootDir,<a name="line.2297"></a>
-<span class="sourceLineNo">2298</span>      final Configuration conf, final HTableDescriptor htd, boolean initialize)<a name="line.2298"></a>
-<span class="sourceLineNo">2299</span>      throws IOException {<a name="line.2299"></a>
-<span class="sourceLineNo">2300</span>    WAL wal = createWal(conf, rootDir, info);<a name="line.2300"></a>
-<span class="sourceLineNo">2301</span>    return HRegion.createHRegion(info, rootDir, conf, htd, wal, initialize);<a name="line.2301"></a>
-<span class="sourceLineNo">2302</span>  }<a name="line.2302"></a>
-<span class="sourceLineNo">2303</span><a name="line.2303"></a>
-<span class="sourceLineNo">2304</span>  /**<a name="line.2304"></a>
-<span class="sourceLineNo">2305</span>   * Returns all rows from the hbase:meta table.<a name="line.2305"></a>
-<span class="sourceLineNo">2306</span>   *<a name="line.2306"></a>
-<span class="sourceLineNo">2307</span>   * @throws IOException When reading the rows fails.<a name="line.2307"></a>
-<span class="sourceLineNo">2308</span>   */<a name="line.2308"></a>
-<span class="sourceLineNo">2309</span>  public List&lt;byte[]&gt; getMetaTableRows() throws IOException {<a name="line.2309"></a>
-<span class="sourceLineNo">2310</span>    // TODO: Redo using MetaTableAccessor class<a name="line.2310"></a>
-<span class="sourceLineNo">2311</span>    Table t = getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.2311"></a>
-<span class="sourceLineNo">2312</span>    List&lt;byte[]&gt; rows = new ArrayList&lt;byte[]&gt;();<a name="line.2312"></a>
-<span class="sourceLineNo">2313</span>    ResultScanner s = t.getScanner(new Scan());<a name="line.2313"></a>
-<span class="sourceLineNo">2314</span>    for (Result result : s) {<a name="line.2314"></a>
-<span class="sourceLineNo">2315</span>      LOG.info("getMetaTableRows: row -&gt; " +<a name="line.2315"></a>
-<span class="sourceLineNo">2316</span>        Bytes.toStringBinary(result.getRow()));<a name="line.2316"></a>
-<span class="sourceLineNo">2317</span>      rows.add(result.getRow());<a name="line.2317"></a>
-<span class="sourceLineNo">2318</span>    }<a name="line.2318"></a>
-<span class="sourceLineNo">2319</span>    s.close();<a name="line.2319"></a>
-<span class="sourceLineNo">2320</span>    t.close();<a name="line.2320"></a>
-<span class="sourceLineNo">2321</span>    return rows;<a name="line.2321"></a>
-<span class="sourceLineNo">2322</span>  }<a name="line.2322"></a>
-<span class="sourceLineNo">2323</span><a name="line.2323"></a>
-<span class="sourceLineNo">2324</span>  /**<a name="line.2324"></a>
-<span class="sourceLineNo">2325</span>   * Returns all rows from the hbase:meta table for a given user table<a name="line.2325"></a>
-<span class="sourceLineNo">2326</span>   *<a name="line.2326"></a>
-<span class="sourceLineNo">2327</span>   * @throws IOException When reading the rows fails.<a name="line.2327"></a>
-<span class="sourceLineNo">2328</span>   */<a name="line.2328"></a>
-<span class="sourceLineNo">2329</span>  public List&lt;byte[]&gt; getMetaTableRows(TableName tableName) throws IOException {<a name="line.2329"></a>
-<span class="sourceLineNo">2330</span>    // TODO: Redo using MetaTableAccessor.<a name="line.2330"></a>
-<span class="sourceLineNo">2331</span>    Table t = getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.2331"></a>
-<span class="sourceLineNo">2332</span>    List&lt;byte[]&gt; rows = new ArrayList&lt;byte[]&gt;();<a name="line.2332"></a>
-<span class="sourceLineNo">2333</span>    ResultScanner s = t.getScanner(new Scan());<a name="line.2333"></a>
-<span class="sourceLineNo">2334</span>    for (Result result : s) {<a name="line.2334"></a>
-<span class="sourceLineNo">2335</span>      HRegionInfo info = MetaTableAccessor.getHRegionInfo(result);<a name="line.2335"></a>
-<span class="sourceLineNo">2336</span>      if (info == null) {<a name="line.2336"></a>
-<span class="sourceLineNo">2337</span>        LOG.error("No region info for row " + Bytes.toString(result.getRow()));<a name="line.2337"></a>
-<span class="sourceLineNo">2338</span>        // TODO figure out what to do for this new hosed case.<a name="line.2338"></a>
-<span class="sourceLineNo">2339</span>        continue;<a name="line.2339"></a>
-<span class="sourceLineNo">2340</span>      }<a name="line.2340"></a>
-<span class="sourceLineNo">2341</span><a name="line.2341"></a>
-<span class="sourceLineNo">2342</span>      if (info.getTable().equals(tableName)) {<a name="line.2342"></a>
-<span class="sourceLineNo">2343</span>        LOG.info("getMetaTableRows: row -&gt; " +<a name="line.2343"></a>
-<span class="sourceLineNo">2344</span>            Bytes.toStringBinary(result.getRow()) + info);<a name="line.2344"></a>
-<span class="sourceLineNo">2345</span>        rows.add(result.getRow());<a name="line.2345"></a>
-<span class="sourceLineNo">2346</span>      }<a name="line.2346"></a>
-<span class="sourceLineNo">2347</span>    }<a name="line.2347"></a>
-<span class="sourceLineNo">2348</span>    s.close();<a name="line.2348"></a>
-<span class="sourceLineNo">2349</span>    t.close();<a name="line.2349"></a>
-<span class="sourceLineNo">2350</span>    return rows;<a name="line.2350"></a>
-<span class="sourceLineNo">2351</span>  }<a name="line.2351"></a>
-<span class="sourceLineNo">2352</span><a name="line.2352"></a>
-<span class="sourceLineNo">2353</span>  /**<a name="line.2353"></a>
-<span class="sourceLineNo">2354</span>   * Tool to get the reference to the region server object that holds the<a name="line.2354"></a>
-<span class="sourceLineNo">2355</span>   * region of the specified user table.<a name="line.2355"></a>
-<span class="sourceLineNo">2356</span>   * It first searches for the meta rows that contain the region of the<a name="line.2356"></a>
-<span class="sourceLineNo">2357</span>   * specified table, then gets the index of that RS, and finally retrieves<a name="line.2357"></a>
-<span class="sourceLineNo">2358</span>   * the RS's reference.<a name="line.2358"></a>
-<span class="sourceLineNo">2359</span>   * @param tableName user table to lookup in hbase:meta<a name="line.2359"></a>
-<span class="sourceLineNo">2360</span>   * @return region server that holds it, null if the row doesn't exist<a name="line.2360"></a>
-<span class="sourceLineNo">2361</span>   * @throws IOException<a name="line.2361"></a>
-<span class="sourceLineNo">2362</span>   * @throws InterruptedException<a name="line.2362"></a>
-<span class="sourceLineNo">2363</span>   */<a name="line.2363"></a>
-<span class="sourceLineNo">2364</span>  public HRegionServer getRSForFirstRegionInTable(TableName tableName)<a name="line.2364"></a>
-<span class="sourceLineNo">2365</span>      throws IOException, InterruptedException {<a name="line.2365"></a>
-<span class="sourceLineNo">2366</span>    List&lt;byte[]&gt; metaRows = getMetaTableRows(tableName);<a name="line.2366"></a>
-<span class="sourceLineNo">2367</span>    if (metaRows == null || metaRows.isEmpty()) {<a name="line.2367"></a>
-<span class="sourceLineNo">2368</span>      return null;<a name="line.2368"></a>
-<span class="sourceLineNo">2369</span>    }<a name="line.2369"></a>
-<span class="sourceLineNo">2370</span>    LOG.debug("Found " + metaRows.size() + " rows for table " +<a name="line.2370"></a>
-<span class="sourceLineNo">2371</span>      tableName);<a name="line.2371"></a>
-<span class="sourceLineNo">2372</span>    byte [] firstrow = metaRows.get(0);<a name="line.2372"></a>
-<span class="sourceLineNo">2373</span>    LOG.debug("FirstRow=" + Bytes.toString(firstrow));<a name="line.2373"></a>
-<span class="sourceLineNo">2374</span>    long pause = getConfiguration().getLong(HConstants.HBASE_CLIENT_PAUSE,<a name="line.2374"></a>
-<span class="sourceLineNo">2375</span>      HConstants.DEFAULT_HBASE_CLIENT_PAUSE);<a name="line.2375"></a>
-<span class="sourceLineNo">2376</span>    int numRetries = getConfiguration().getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,<a name="line.2376"></a>
-<span class="sourceLineNo">2377</span>      HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);<a name="line.2377"></a>
-<span class="sourceLineNo">2378</span>    RetryCounter retrier = new RetryCounter(numRetries+1, (int)pause, TimeUnit.MICROSECONDS);<a name="line.2378"></a>
-<span class="sourceLineNo">2379</span>    while(retrier.shouldRetry()) {<a name="line.2379"></a>
-<span class="sourceLineNo">2380</span>      int index = getMiniHBaseCluster().getServerWith(firstrow);<a name="line.2380"></a>
-<span class="sourceLineNo">2381</span>      if (index != -1) {<a name="line.2381"></a>
-<span class="sourceLineNo">2382</span>        return getMiniHBaseCluster().getRegionServerThreads().get(index).getRegionServer();<a name="line.2382"></a>
-<span class="sourceLineNo">2383</span>      }<a name="line.2383"></a>
-<span class="sourceLineNo">2384</span>      // Came back -1.  Region may not be online yet.  Sleep a while.<a name="line.2384"></a>
-<span class="sourceLineNo">2385</span>      retrier.sleepUntilNextRetry();<a name="line.2385"></a>
-<span class="sourceLineNo">2386</span>    }<a name="line.2386"></a>
-<span class="sourceLineNo">2387</span>    return null;<a name="line.2387"></a>
-<span class="sourceLineNo">2388</span>  }<a name="line.2388"></a>
-<span class="sourceLineNo">2389</span><a name="line.2389"></a>
-<span class="sourceLineNo">2390</span>  /**<a name="line.2390"></a>
-<span class="sourceLineNo">2391</span>   * Starts a &lt;code&gt;MiniMRCluster&lt;/code&gt; with a default number of<a name="line.2391"></a>
-<span class="sourceLineNo">2392</span>   * &lt;code&gt;TaskTracker&lt;/code&gt;'s.<a name="line.2392"></a>
-<span class="sourceLineNo">2393</span>   *<a name="line.2393"></a>
-<span class="sourceLineNo">2394</span>   * @throws IOException When starting the cluster fails.<a name="line.2394"></a>
-<span class="sourceLineNo">2395</span>   */<a name="line.2395"></a>
-<span class="sourceLineNo">2396</span>  public MiniMRCluster startMiniMapReduceCluster() throws IOException {<a name="line.2396"></a>
-<span class="sourceLineNo">2397</span>    startMiniMapReduceCluster(2);<a name="line.2397"></a>
-<span class="sourceLineNo">2398</span>    return mrCluster;<a name="line.2398"></a>
-<span class="sourceLineNo">2399</span>  }<a name="line.2399"></a>
-<span class="sourceLineNo">2400</span><a name="line.2400"></a>
-<span class="sourceLineNo">2401</span>  /**<a name="line.2401"></a>
-<span class="sourceLineNo">2402</span>   * Tasktracker has a bug where changing the hadoop.log.dir system property<a name="line.2402"></a>
-<span class="sourceLineNo">2403</span>   * will not change its internal static LOG_DIR variable.<a name="line.2403"></a>
-<span class="sourceLineNo">2404</span>   */<a name="line.2404"></a>
-<span class="sourceLineNo">2405</span>  private void forceChangeTaskLogDir() {<a name="line.2405"></a>
-<span class="sourceLineNo">2406</span>    Field logDirField;<a name="line.2406"></a>
-<span class="sourceLineNo">2407</span>    try {<a name="line.2407"></a>
-<span class="sourceLineNo">2408</span>      logDirField = TaskLog.class.getDeclaredField("LOG_DIR");<a name="line.2408"></a>
-<span class="sourceLineNo">2409</span>      logDirField.setAccessible(true);<a name="line.2409"></a>
-<span class="sourceLineNo">2410</span><a name="line.2410"></a>
-<span class="sourceLineNo">2411</span>      Field modifiersField = Field.class.getDeclaredField("modifiers");<a name="line.2411"></a>
-<span class="sourceLineNo">2412</span>      modifiersField.setAccessible(true);<a name="line.2412"></a>
-<span class="sourceLineNo">2413</span>      modifiersField.setInt(logDirField, logDirField.getModifiers() &amp; ~Modifier.FINAL);<a name="line.2413"></a>
-<span class="sourceLineNo">2414</span><a name="line.2414"></a>
-<span class="sourceLineNo">2415</span>      logDirField.set(null, new File(hadoopLogDir, "userlogs"));<a name="line.2415"></a>
-<span class="sourceLineNo">2416</span>    } catch (SecurityException e) {<a name="line.2416"></a>
-<span class="sourceLineNo">2417</span>      throw new RuntimeException(e);<a name="line.2417"></a>
-<span class="sourceLineNo">2418</span>    } catch (NoSuchFieldException e) {<a name="line.2418"></a>
-<span class="sourceLineNo">2419</span>      // TODO Auto-generated catch block<a name="line.2419"></a>
+<span class="sourceLineNo">2062</span>      if (flush) {<a name="line.2062"></a>
+<span class="sourceLineNo">2063</span>        r.flush(true);<a name="line.2063"></a>
+<span class="sourceLineNo">2064</span>      }<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>    }<a name="line.2065"></a>
+<span class="sourceLineNo">2066</span>    return rowCount;<a name="line.2066"></a>
+<span class="sourceLineNo">2067</span>  }<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span><a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>  public void loadNumericRows(final Table t, final byte[] f, int startRow, int endRow)<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>      throws IOException {<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2071"></a>
+<span class="sourceLineNo">2072</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2072"></a>
+<span class="sourceLineNo">2073</span>      Put put = new Put(data);<a name="line.2073"></a>
+<span class="sourceLineNo">2074</span>      put.addColumn(f, null, data);<a name="line.2074"></a>
+<span class="sourceLineNo">2075</span>      t.put(put);<a name="line.2075"></a>
+<span class="sourceLineNo">2076</span>    }<a name="line.2076"></a>
+<span class="sourceLineNo">2077</span>  }<a name="line.2077"></a>
+<span class="sourceLineNo">2078</span><a name="line.2078"></a>
+<span class="sourceLineNo">2079</span>  public void verifyNumericRows(Table table, final byte[] f, int startRow, int endRow,<a name="line.2079"></a>
+<span class="sourceLineNo">2080</span>      int replicaId)<a name="line.2080"></a>
+<span class="sourceLineNo">2081</span>      throws IOException {<a name="line.2081"></a>
+<span class="sourceLineNo">2082</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2082"></a>
+<span class="sourceLineNo">2083</span>      String failMsg = "Failed verification of row :" + i;<a name="line.2083"></a>
+<span class="sourceLineNo">2084</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2084"></a>
+<span class="sourceLineNo">2085</span>      Get get = new Get(data);<a name="line.2085"></a>
+<span class="sourceLineNo">2086</span>      get.setReplicaId(replicaId);<a name="line.2086"></a>
+<span class="sourceLineNo">2087</span>      get.setConsistency(Consistency.TIMELINE);<a name="line.2087"></a>
+<span class="sourceLineNo">2088</span>      Result result = table.get(get);<a name="line.2088"></a>
+<span class="sourceLineNo">2089</span>      assertTrue(failMsg, result.containsColumn(f, null));<a name="line.2089"></a>
+<span class="sourceLineNo">2090</span>      assertEquals(failMsg, result.getColumnCells(f, null).size(), 1);<a name="line.2090"></a>
+<span class="sourceLineNo">2091</span>      Cell cell = result.getColumnLatestCell(f, null);<a name="line.2091"></a>
+<span class="sourceLineNo">2092</span>      assertTrue(failMsg,<a name="line.2092"></a>
+<span class="sourceLineNo">2093</span>        Bytes.equals(data, 0, data.length, cell.getValueArray(), cell.getValueOffset(),<a name="line.2093"></a>
+<span class="sourceLineNo">2094</span>          cell.getValueLength()));<a name="line.2094"></a>
+<span class="sourceLineNo">2095</span>    }<a name="line.2095"></a>
+<span class="sourceLineNo">2096</span>  }<a name="line.2096"></a>
+<span class="sourceLineNo">2097</span><a name="line.2097"></a>
+<span class="sourceLineNo">2098</span>  public void verifyNumericRows(Region region, final byte[] f, int startRow, int endRow)<a name="line.2098"></a>
+<span class="sourceLineNo">2099</span>      throws IOException {<a name="line.2099"></a>
+<span class="sourceLineNo">2100</span>    verifyNumericRows((HRegion)region, f, startRow, endRow);<a name="line.2100"></a>
+<span class="sourceLineNo">2101</span>  }<a name="line.2101"></a>
+<span class="sourceLineNo">2102</span><a name="line.2102"></a>
+<span class="sourceLineNo">2103</span>  public void verifyNumericRows(HRegion region, final byte[] f, int startRow, int endRow)<a name="line.2103"></a>
+<span class="sourceLineNo">2104</span>      throws IOException {<a name="line.2104"></a>
+<span class="sourceLineNo">2105</span>    verifyNumericRows(region, f, startRow, endRow, true);<a name="line.2105"></a>
+<span class="sourceLineNo">2106</span>  }<a name="line.2106"></a>
+<span class="sourceLineNo">2107</span><a name="line.2107"></a>
+<span class="sourceLineNo">2108</span>  public void verifyNumericRows(Region region, final byte[] f, int startRow, int endRow,<a name="line.2108"></a>
+<span class="sourceLineNo">2109</span>      final boolean present) throws IOException {<a name="line.2109"></a>
+<span class="sourceLineNo">2110</span>    verifyNumericRows((HRegion)region, f, startRow, endRow, present);<a name="line.2110"></a>
+<span class="sourceLineNo">2111</span>  }<a name="line.2111"></a>
+<span class="sourceLineNo">2112</span><a name="line.2112"></a>
+<span class="sourceLineNo">2113</span>  public void verifyNumericRows(HRegion region, final byte[] f, int startRow, int endRow,<a name="line.2113"></a>
+<span class="sourceLineNo">2114</span>      final boolean present) throws IOException {<a name="line.2114"></a>
+<span class="sourceLineNo">2115</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2115"></a>
+<span class="sourceLineNo">2116</span>      String failMsg = "Failed verification of row :" + i;<a name="line.2116"></a>
+<span class="sourceLineNo">2117</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2117"></a>
+<span class="sourceLineNo">2118</span>      Result result = region.get(new Get(data));<a name="line.2118"></a>
+<span class="sourceLineNo">2119</span><a name="line.2119"></a>
+<span class="sourceLineNo">2120</span>      boolean hasResult = result != null &amp;&amp; !result.isEmpty();<a name="line.2120"></a>
+<span class="sourceLineNo">2121</span>      assertEquals(failMsg + result, present, hasResult);<a name="line.2121"></a>
+<span class="sourceLineNo">2122</span>      if (!present) continue;<a name="line.2122"></a>
+<span class="sourceLineNo">2123</span><a name="line.2123"></a>
+<span class="sourceLineNo">2124</span>      assertTrue(failMsg, result.containsColumn(f, null));<a name="line.2124"></a>
+<span class="sourceLineNo">2125</span>      assertEquals(failMsg, result.getColumnCells(f, null).size(), 1);<a name="line.2125"></a>
+<span class="sourceLineNo">2126</span>      Cell cell = result.getColumnLatestCell(f, null);<a name="line.2126"></a>
+<span class="sourceLineNo">2127</span>      assertTrue(failMsg,<a name="line.2127"></a>
+<span class="sourceLineNo">2128</span>        Bytes.equals(data, 0, data.length, cell.getValueArray(), cell.getValueOffset(),<a name="line.2128"></a>
+<span class="sourceLineNo">2129</span>          cell.getValueLength()));<a name="line.2129"></a>
+<span class="sourceLineNo">2130</span>    }<a name="line.2130"></a>
+<span class="sourceLineNo">2131</span>  }<a name="line.2131"></a>
+<span class="sourceLineNo">2132</span><a name="line.2132"></a>
+<span class="sourceLineNo">2133</span>  public void deleteNumericRows(final Table t, final byte[] f, int startRow, int endRow)<a name="line.2133"></a>
+<span class="sourceLineNo">2134</span>      throws IOException {<a name="line.2134"></a>
+<span class="sourceLineNo">2135</span>    for (int i = startRow; i &lt; endRow; i++) {<a name="line.2135"></a>
+<span class="sourceLineNo">2136</span>      byte[] data = Bytes.toBytes(String.valueOf(i));<a name="line.2136"></a>
+<span class="sourceLineNo">2137</span>      Delete delete = new Delete(data);<a name="line.2137"></a>
+<span class="sourceLineNo">2138</span>      delete.addFamily(f);<a name="line.2138"></a>
+<span class="sourceLineNo">2139</span>      t.delete(delete);<a name="line.2139"></a>
+<span class="sourceLineNo">2140</span>    }<a name="line.2140"></a>
+<span class="sourceLineNo">2141</span>  }<a name="line.2141"></a>
+<span class="sourceLineNo">2142</span><a name="line.2142"></a>
+<span class="sourceLineNo">2143</span>  /**<a name="line.2143"></a>
+<span class="sourceLineNo">2144</span>   * Return the number of rows in the given table.<a name="line.2144"></a>
+<span class="sourceLineNo">2145</span>   */<a name="line.2145"></a>
+<span class="sourceLineNo">2146</span>  public int countRows(final Table table) throws IOException {<a name="line.2146"></a>
+<span class="sourceLineNo">2147</span>    return countRows(table, new Scan());<a name="line.2147"></a>
+<span class="sourceLineNo">2148</span>  }<a name="line.2148"></a>
+<span class="sourceLineNo">2149</span><a name="line.2149"></a>
+<span class="sourceLineNo">2150</span>  public int countRows(final Table table, final Scan scan) throws IOException {<a name="line.2150"></a>
+<span class="sourceLineNo">2151</span>    ResultScanner results = table.getScanner(scan);<a name="line.2151"></a>
+<span class="sourceLineNo">2152</span>    int count = 0;<a name="line.2152"></a>
+<span class="sourceLineNo">2153</span>    for (@SuppressWarnings("unused") Result res : results) {<a name="line.2153"></a>
+<span class="sourceLineNo">2154</span>      count++;<a name="line.2154"></a>
+<span class="sourceLineNo">2155</span>    }<a name="line.2155"></a>
+<span class="sourceLineNo">2156</span>    results.close();<a name="line.2156"></a>
+<span class="sourceLineNo">2157</span>    return count;<a name="line.2157"></a>
+<span class="sourceLineNo">2158</span>  }<a name="line.2158"></a>
+<span class="sourceLineNo">2159</span><a name="line.2159"></a>
+<span class="sourceLineNo">2160</span>  public int countRows(final Table table, final byte[]... families) throws IOException {<a name="line.2160"></a>
+<span class="sourceLineNo">2161</span>    Scan scan = new Scan();<a name="line.2161"></a>
+<span class="sourceLineNo">2162</span>    for (byte[] family: families) {<a name="line.2162"></a>
+<span class="sourceLineNo">2163</span>      scan.addFamily(family);<a name="line.2163"></a>
+<span class="sourceLineNo">2164</span>    }<a name="line.2164"></a>
+<span class="sourceLineNo">2165</span>    ResultScanner results = table.getScanner(scan);<a name="line.2165"></a>
+<span class="sourceLineNo">2166</span>    int count = 0;<a name="line.2166"></a>
+<span class="sourceLineNo">2167</span>    for (@SuppressWarnings("unused") Result res : results) {<a name="line.2167"></a>
+<span class="sourceLineNo">2168</span>      count++;<a name="line.2168"></a>
+<span class="sourceLineNo">2169</span>    }<a name="line.2169"></a>
+<span class="sourceLineNo">2170</span>    results.close();<a name="line.2170"></a>
+<span class="sourceLineNo">2171</span>    return count;<a name="line.2171"></a>
+<span class="sourceLineNo">2172</span>  }<a name="line.2172"></a>
+<span class="sourceLineNo">2173</span><a name="line.2173"></a>
+<span class="sourceLineNo">2174</span>  /**<a name="line.2174"></a>
+<span class="sourceLineNo">2175</span>   * Return the number of rows in the given table.<a name="line.2175"></a>
+<span class="sourceLineNo">2176</span>   */<a name="line.2176"></a>
+<span class="sourceLineNo">2177</span>  public int countRows(final TableName tableName) throws IOException {<a name="line.2177"></a>
+<span class="sourceLineNo">2178</span>    Table table = getConnection().getTable(tableName);<a name="line.2178"></a>
+<span class="sourceLineNo">2179</span>    try {<a name="line.2179"></a>
+<span class="sourceLineNo">2180</span>      return countRows(table);<a name="line.2180"></a>
+<span class="sourceLineNo">2181</span>    } finally {<a name="line.2181"></a>
+<span class="sourceLineNo">2182</span>      table.close();<a name="line.2182"></a>
+<span class="sourceLineNo">2183</span>    }<a name="line.2183"></a>
+<span class="sourceLineNo">2184</span>  }<a name="line.2184"></a>
+<span class="sourceLineNo">2185</span><a name="line.2185"></a>
+<span class="sourceLineNo">2186</span>  /**<a name="line.2186"></a>
+<span class="sourceLineNo">2187</span>   * Return an md5 digest of the entire contents of a table.<a name="line.2187"></a>
+<span class="sourceLineNo">2188</span>   */<a name="line.2188"></a>
+<span class="sourceLineNo">2189</span>  public String checksumRows(final Table table) throws Exception {<a name="line.2189"></a>
+<span class="sourceLineNo">2190</span><a name="line.2190"></a>
+<span class="sourceLineNo">2191</span>    Scan scan = new Scan();<a name="line.2191"></a>
+<span class="sourceLineNo">2192</span>    ResultScanner results = table.getScanner(scan);<a name="line.2192"></a>
+<span class="sourceLineNo">2193</span>    MessageDigest digest = MessageDigest.getInstance("MD5");<a name="line.2193"></a>
+<span class="sourceLineNo">2194</span>    for (Result res : results) {<a name="line.2194"></a>
+<span class="sourceLineNo">2195</span>      digest.update(res.getRow());<a name="line.2195"></a>
+<span class="sourceLineNo">2196</span>    }<a name="line.2196"></a>
+<span class="sourceLineNo">2197</span>    results.close();<a name="line.2197"></a>
+<span class="sourceLineNo">2198</span>    return digest.toString();<a name="line.2198"></a>
+<span class="sourceLineNo">2199</span>  }<a name="line.2199"></a>
+<span class="sourceLineNo">2200</span><a name="line.2200"></a>
+<span class="sourceLineNo">2201</span>  /** All the row values for the data loaded by {@link #loadTable(HTable, byte[])} */<a name="line.2201"></a>
+<span class="sourceLineNo">2202</span>  public static final byte[][] ROWS = new byte[(int) Math.pow('z' - 'a' + 1, 3)][3]; // ~52KB<a name="line.2202"></a>
+<span class="sourceLineNo">2203</span>  static {<a name="line.2203"></a>
+<span class="sourceLineNo">2204</span>    int i = 0;<a name="line.2204"></a>
+<span class="sourceLineNo">2205</span>    for (byte b1 = 'a'; b1 &lt;= 'z'; b1++) {<a name="line.2205"></a>
+<span class="sourceLineNo">2206</span>      for (byte b2 = 'a'; b2 &lt;= 'z'; b2++) {<a name="line.2206"></a>
+<span class="sourceLineNo">2207</span>        for (byte b3 = 'a'; b3 &lt;= 'z'; b3++) {<a name="line.2207"></a>
+<span class="sourceLineNo">2208</span>          ROWS[i][0] = b1;<a name="line.2208"></a>
+<span class="sourceLineNo">2209</span>          ROWS[i][1] = b2;<a name="line.2209"></a>
+<span class="sourceLineNo">2210</span>          ROWS[i][2] = b3;<a name="line.2210"></a>
+<span class="sourceLineNo">2211</span>          i++;<a name="line.2211"></a>
+<span class="sourceLineNo">2212</span>        }<a name="line.2212"></a>
+<span class="sourceLineNo">2213</span>      }<a name="line.2213"></a>
+<span class="sourceLineNo">2214</span>    }<a name="line.2214"></a>
+<span class="sourceLineNo">2215</span>  }<a name="line.2215"></a>
+<span class="sourceLineNo">2216</span><a name="line.2216"></a>
+<span class="sourceLineNo">2217</span>  public static final byte[][] KEYS = {<a name="line.2217"></a>
+<span class="sourceLineNo">2218</span>    HConstants.EMPTY_BYTE_ARRAY, Bytes.toBytes("bbb"),<a name="line.2218"></a>
+<span class="sourceLineNo">2219</span>    Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.2219"></a>
+<span class="sourceLineNo">2220</span>    Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.2220"></a>
+<span class="sourceLineNo">2221</span>    Bytes.toBytes("iii"), Bytes.toBytes("jjj"), Bytes.toBytes("kkk"),<a name="line.2221"></a>
+<span class="sourceLineNo">2222</span>    Bytes.toBytes("lll"), Bytes.toBytes("mmm"), Bytes.toBytes("nnn"),<a name="line.2222"></a>
+<span class="sourceLineNo">2223</span>    Bytes.toBytes("ooo"), Bytes.toBytes("ppp"), Bytes.toBytes("qqq"),<a name="line.2223"></a>
+<span class="sourceLineNo">2224</span>    Bytes.toBytes("rrr"), Bytes.toBytes("sss"), Bytes.toBytes("ttt"),<a name="line.2224"></a>
+<span class="sourceLineNo">2225</span>    Bytes.toBytes("uuu"), Bytes.toBytes("vvv"), Bytes.toBytes("www"),<a name="line.2225"></a>
+<span class="sourceLineNo">2226</span>    Bytes.toBytes("xxx"), Bytes.toBytes("yyy")<a name="line.2226"></a>
+<span class="sourceLineNo">2227</span>  };<a name="line.2227"></a>
+<span class="sourceLineNo">2228</span><a name="line.2228"></a>
+<span class="sourceLineNo">2229</span>  public static final byte[][] KEYS_FOR_HBA_CREATE_TABLE = {<a name="line.2229"></a>
+<span class="sourceLineNo">2230</span>      Bytes.toBytes("bbb"),<a name="line.2230"></a>
+<span class="sourceLineNo">2231</span>      Bytes.toBytes("ccc"), Bytes.toBytes("ddd"), Bytes.toBytes("eee"),<a name="line.2231"></a>
+<span class="sourceLineNo">2232</span>      Bytes.toBytes("fff"), Bytes.toBytes("ggg"), Bytes.toBytes("hhh"),<a name="line.2232"></a>
+<span class="sourceLineNo">2233</span>      Bytes.toBytes("iii"), Bytes.toBytes("jjj"), Bytes.toBytes("kkk"),<a name="line.2233"></a>
+<span class="sourceLineNo">2234</span>      Bytes.toBytes("lll"), Bytes.toBytes("mmm"), Bytes.toBytes("nnn"),<a name="line.2234"></a>
+<span class="sourceLineNo">2235</span>      Bytes.toBytes("ooo"), Bytes.toBytes("ppp"), Bytes.toBytes("qqq"),<a name="line.2235"></a>
+<span class="sourceLineNo">2236</span>      Bytes.toBytes("rrr"), Bytes.toBytes("sss"), Bytes.toBytes("ttt"),<a name="line.2236"></a>
+<span class="sourceLineNo">2237</span>      Bytes.toBytes("uuu"), Bytes.toBytes("vvv"), Bytes.toBytes("www"),<a name="line.2237"></a>
+<span class="sourceLineNo">2238</span>      Bytes.toBytes("xxx"), Bytes.toBytes("yyy"), Bytes.toBytes("zzz")<a name="line.2238"></a>
+<span class="sourceLineNo">2239</span>  };<a name="line.2239"></a>
+<span class="sourceLineNo">2240</span><a name="line.2240"></a>
+<span class="sourceLineNo">2241</span>  /**<a name="line.2241"></a>
+<span class="sourceLineNo">2242</span>   * Create r

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class="sourceLineNo">

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.html
index 571c70a..c037057 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.html
@@ -126,118 +126,117 @@
 <span class="sourceLineNo">118</span>        }<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        startKey = startEnd[0];<a name="line.119"></a>
 <span class="sourceLineNo">120</span>        endKey = startEnd[1];<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      if (startTime &lt; endTime) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        continue;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        continue;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        continue;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      else {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // if no switch, assume column names<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        sb.append(args[i]);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        sb.append(" ");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    job.setJarByClass(RowCounter.class);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Scan scan = new Scan();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    scan.setCacheBlocks(false);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (sb.length() &gt; 0) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        else {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    job.setNumReduceTasks(0);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  private static void printUsage(String errorMessage) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    System.err.println("ERROR: " + errorMessage);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    printUsage();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Prints usage without error message.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static void printUsage() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    System.err.println("For performance consider the following options:\n"<a name="line.194"></a>
-<span class="sourceLineNo">195</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        + "-Dmapreduce.map.speculative=false");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public int run(String[] args) throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (args.length &lt; 1) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return -1;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (job == null) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return -1;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    boolean success = job.waitForCompletion(true);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      success = expectedCount == counter.getValue();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      if (!success) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.215"></a>
-<span class="sourceLineNo">216</span>            "' does not match expected count of '" + expectedCount + "'");<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return (success ? 0 : 1);<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>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Main entry point.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param args The command line parameters.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @throws Exception When running the job fails.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public static void main(String[] args) throws Exception {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    System.exit(errCode);<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>}<a name="line.232"></a>
+<span class="sourceLineNo">121</span>        continue;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        continue;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        continue;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        continue;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      // if no switch, assume column names<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(args[i]);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      sb.append(" ");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (endTime &lt; startTime) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      return null;<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>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    job.setJarByClass(RowCounter.class);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Scan scan = new Scan();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    scan.setCacheBlocks(false);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (sb.length() &gt; 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        else {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    job.setNumReduceTasks(0);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  private static void printUsage(String errorMessage) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    System.err.println("ERROR: " + errorMessage);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    printUsage();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * Prints usage without error message.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  private static void printUsage() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    System.err.println("For performance consider the following options:\n"<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        + "-Dmapreduce.map.speculative=false");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public int run(String[] args) throws Exception {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (args.length &lt; 1) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return -1;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (job == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return -1;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    boolean success = job.waitForCompletion(true);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      success = expectedCount == counter.getValue();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      if (!success) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            "' does not match expected count of '" + expectedCount + "'");<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>    return (success ? 0 : 1);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Main entry point.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @param args The command line parameters.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @throws Exception When running the job fails.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public static void main(String[] args) throws Exception {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    System.exit(errCode);<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
index 571c70a..c037057 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/RowCounter.html
@@ -126,118 +126,117 @@
 <span class="sourceLineNo">118</span>        }<a name="line.118"></a>
 <span class="sourceLineNo">119</span>        startKey = startEnd[0];<a name="line.119"></a>
 <span class="sourceLineNo">120</span>        endKey = startEnd[1];<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      if (startTime &lt; endTime) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        return null;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        continue;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        continue;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.136"></a>
-<span class="sourceLineNo">137</span>        continue;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>      }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      else {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        // if no switch, assume column names<a name="line.140"></a>
-<span class="sourceLineNo">141</span>        sb.append(args[i]);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        sb.append(" ");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    job.setJarByClass(RowCounter.class);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    Scan scan = new Scan();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    scan.setCacheBlocks(false);<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    if (sb.length() &gt; 0) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.162"></a>
-<span class="sourceLineNo">163</span>        }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        else {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        }<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      }<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    job.setNumReduceTasks(0);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  private static void printUsage(String errorMessage) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    System.err.println("ERROR: " + errorMessage);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    printUsage();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  }<a name="line.184"></a>
-<span class="sourceLineNo">185</span><a name="line.185"></a>
-<span class="sourceLineNo">186</span>  /**<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   * Prints usage without error message.<a name="line.187"></a>
-<span class="sourceLineNo">188</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   */<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static void printUsage() {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.192"></a>
-<span class="sourceLineNo">193</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    System.err.println("For performance consider the following options:\n"<a name="line.194"></a>
-<span class="sourceLineNo">195</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        + "-Dmapreduce.map.speculative=false");<a name="line.196"></a>
-<span class="sourceLineNo">197</span>  }<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @Override<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public int run(String[] args) throws Exception {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (args.length &lt; 1) {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return -1;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    if (job == null) {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return -1;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    boolean success = job.waitForCompletion(true);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      success = expectedCount == counter.getValue();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      if (!success) {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.215"></a>
-<span class="sourceLineNo">216</span>            "' does not match expected count of '" + expectedCount + "'");<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      }<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    }<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    return (success ? 0 : 1);<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>  /**<a name="line.222"></a>
-<span class="sourceLineNo">223</span>   * Main entry point.<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * @param args The command line parameters.<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * @throws Exception When running the job fails.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public static void main(String[] args) throws Exception {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    System.exit(errCode);<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>}<a name="line.232"></a>
+<span class="sourceLineNo">121</span>        continue;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      if (args[i].startsWith(startTimeArgKey)) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        startTime = Long.parseLong(args[i].substring(startTimeArgKey.length()));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        continue;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      if (args[i].startsWith(endTimeArgKey)) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>        endTime = Long.parseLong(args[i].substring(endTimeArgKey.length()));<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        continue;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      if (args[i].startsWith(expectedCountArg)) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        conf.setLong(EXPECTED_COUNT_KEY,<a name="line.132"></a>
+<span class="sourceLineNo">133</span>            Long.parseLong(args[i].substring(expectedCountArg.length())));<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        continue;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      }<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      // if no switch, assume column names<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      sb.append(args[i]);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>      sb.append(" ");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    if (endTime &lt; startTime) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      printUsage("--endtime=" + endTime + " needs to be greater than --starttime=" + startTime);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      return null;<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>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + tableName));<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    job.setJarByClass(RowCounter.class);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    Scan scan = new Scan();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    scan.setCacheBlocks(false);<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    if (startKey != null &amp;&amp; !startKey.equals("")) {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      scan.setStartRow(Bytes.toBytes(startKey));<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    if (endKey != null &amp;&amp; !endKey.equals("")) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>      scan.setStopRow(Bytes.toBytes(endKey));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    }<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (sb.length() &gt; 0) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      for (String columnName : sb.toString().trim().split(" ")) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>        String family = StringUtils.substringBefore(columnName, ":");<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        String qualifier = StringUtils.substringAfter(columnName, ":");<a name="line.158"></a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span>        if (StringUtils.isBlank(qualifier)) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>          scan.addFamily(Bytes.toBytes(family));<a name="line.161"></a>
+<span class="sourceLineNo">162</span>        }<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        else {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          scan.addColumn(Bytes.toBytes(family), Bytes.toBytes(qualifier));<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        }<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      }<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    }<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    scan.setFilter(new FirstKeyOnlyFilter());<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    scan.setTimeRange(startTime, endTime == 0 ? HConstants.LATEST_TIMESTAMP : endTime);<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    job.setOutputFormatClass(NullOutputFormat.class);<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    TableMapReduceUtil.initTableMapperJob(tableName, scan,<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      RowCounterMapper.class, ImmutableBytesWritable.class, Result.class, job);<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    job.setNumReduceTasks(0);<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    return job;<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>   * @param errorMessage Can attach a message when error occurs.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  private static void printUsage(String errorMessage) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    System.err.println("ERROR: " + errorMessage);<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    printUsage();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  /**<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   * Prints usage without error message.<a name="line.186"></a>
+<span class="sourceLineNo">187</span>   * Note that we don't document --expected-count, because it's intended for test.<a name="line.187"></a>
+<span class="sourceLineNo">188</span>   */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  private static void printUsage() {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    System.err.println("Usage: RowCounter [options] &lt;tablename&gt; " +<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        "[--starttime=[start] --endtime=[end] " +<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        "[--range=[startKey],[endKey]] [&lt;column1&gt; &lt;column2&gt;...]");<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    System.err.println("For performance consider the following options:\n"<a name="line.193"></a>
+<span class="sourceLineNo">194</span>        + "-Dhbase.client.scanner.caching=100\n"<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        + "-Dmapreduce.map.speculative=false");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  }<a name="line.196"></a>
+<span class="sourceLineNo">197</span><a name="line.197"></a>
+<span class="sourceLineNo">198</span>  @Override<a name="line.198"></a>
+<span class="sourceLineNo">199</span>  public int run(String[] args) throws Exception {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    if (args.length &lt; 1) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      printUsage("Wrong number of parameters: " + args.length);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      return -1;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    Job job = createSubmittableJob(getConf(), args);<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    if (job == null) {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>      return -1;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    boolean success = job.waitForCompletion(true);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    final long expectedCount = getConf().getLong(EXPECTED_COUNT_KEY, -1);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    if (success &amp;&amp; expectedCount != -1) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      final Counter counter = job.getCounters().findCounter(RowCounterMapper.Counters.ROWS);<a name="line.211"></a>
+<span class="sourceLineNo">212</span>      success = expectedCount == counter.getValue();<a name="line.212"></a>
+<span class="sourceLineNo">213</span>      if (!success) {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        LOG.error("Failing job because count of '" + counter.getValue() +<a name="line.214"></a>
+<span class="sourceLineNo">215</span>            "' does not match expected count of '" + expectedCount + "'");<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>    return (success ? 0 : 1);<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  }<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  /**<a name="line.221"></a>
+<span class="sourceLineNo">222</span>   * Main entry point.<a name="line.222"></a>
+<span class="sourceLineNo">223</span>   * @param args The command line parameters.<a name="line.223"></a>
+<span class="sourceLineNo">224</span>   * @throws Exception When running the job fails.<a name="line.224"></a>
+<span class="sourceLineNo">225</span>   */<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  public static void main(String[] args) throws Exception {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    int errCode = ToolRunner.run(HBaseConfiguration.create(), new RowCounter(), args);<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    System.exit(errCode);<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html
index fbe1757..85bd1ae 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.html
@@ -152,7 +152,7 @@
 <span class="sourceLineNo">144</span>      // if the region is &gt; 2 times larger than average, we split it, split<a name="line.144"></a>
 <span class="sourceLineNo">145</span>      // is more high priority normalization action than merge.<a name="line.145"></a>
 <span class="sourceLineNo">146</span>      if (regionSize &gt; 2 * avgRegionSize) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>        LOG.debug("Table " + table + ", large region " + hri.getRegionNameAsString() + " has size "<a name="line.147"></a>
+<span class="sourceLineNo">147</span>        LOG.info("Table " + table + ", large region " + hri.getRegionNameAsString() + " has size "<a name="line.147"></a>
 <span class="sourceLineNo">148</span>            + regionSize + ", more than twice avg size, splitting");<a name="line.148"></a>
 <span class="sourceLineNo">149</span>        plans.add(new SplitNormalizationPlan(hri, null));<a name="line.149"></a>
 <span class="sourceLineNo">150</span>      } else {<a name="line.150"></a>
@@ -162,7 +162,7 @@
 <span class="sourceLineNo">154</span>        HRegionInfo hri2 = tableRegions.get(candidateIdx+1);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>        long regionSize2 = getRegionSize(hri2);<a name="line.155"></a>
 <span class="sourceLineNo">156</span>        if (regionSize + regionSize2 &lt; avgRegionSize) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          LOG.debug("Table " + table + ", small region size: " + regionSize<a name="line.157"></a>
+<span class="sourceLineNo">157</span>          LOG.info("Table " + table + ", small region size: " + regionSize<a name="line.157"></a>
 <span class="sourceLineNo">158</span>            + " plus its neighbor size: " + regionSize2<a name="line.158"></a>
 <span class="sourceLineNo">159</span>            + ", less than the avg size " + avgRegionSize + ", merging them");<a name="line.159"></a>
 <span class="sourceLineNo">160</span>          plans.add(new MergeNormalizationPlan(hri, hri2));<a name="line.160"></a>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
index 32e2b76..ccbbfd0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvDecoder.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.Cell;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.33"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.io.crypto.Decryptor;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.crypto.Encryption;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.crypto.Encryptor;<a name="line.36"></a>
@@ -68,7 +68,7 @@
 <span class="sourceLineNo">060</span>    this.decryptor = decryptor;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodec.KeyValueDecoder {<a name="line.63"></a>
+<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodecWithTags.KeyValueDecoder {<a name="line.63"></a>
 <span class="sourceLineNo">064</span><a name="line.64"></a>
 <span class="sourceLineNo">065</span>    private Decryptor decryptor;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>    private byte[] iv;<a name="line.66"></a>
@@ -150,7 +150,7 @@
 <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>  static class EncryptedKvEncoder extends KeyValueCodec.KeyValueEncoder {<a name="line.145"></a>
+<span class="sourceLineNo">145</span>  static class EncryptedKvEncoder extends KeyValueCodecWithTags.KeyValueEncoder {<a name="line.145"></a>
 <span class="sourceLineNo">146</span><a name="line.146"></a>
 <span class="sourceLineNo">147</span>    private Encryptor encryptor;<a name="line.147"></a>
 <span class="sourceLineNo">148</span>    private final ThreadLocal&lt;byte[]&gt; iv = new ThreadLocal&lt;byte[]&gt;() {<a name="line.148"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
index 32e2b76..ccbbfd0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.EncryptedKvEncoder.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.Cell;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.33"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.io.crypto.Decryptor;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.crypto.Encryption;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.crypto.Encryptor;<a name="line.36"></a>
@@ -68,7 +68,7 @@
 <span class="sourceLineNo">060</span>    this.decryptor = decryptor;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodec.KeyValueDecoder {<a name="line.63"></a>
+<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodecWithTags.KeyValueDecoder {<a name="line.63"></a>
 <span class="sourceLineNo">064</span><a name="line.64"></a>
 <span class="sourceLineNo">065</span>    private Decryptor decryptor;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>    private byte[] iv;<a name="line.66"></a>
@@ -150,7 +150,7 @@
 <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>  static class EncryptedKvEncoder extends KeyValueCodec.KeyValueEncoder {<a name="line.145"></a>
+<span class="sourceLineNo">145</span>  static class EncryptedKvEncoder extends KeyValueCodecWithTags.KeyValueEncoder {<a name="line.145"></a>
 <span class="sourceLineNo">146</span><a name="line.146"></a>
 <span class="sourceLineNo">147</span>    private Encryptor encryptor;<a name="line.147"></a>
 <span class="sourceLineNo">148</span>    private final ThreadLocal&lt;byte[]&gt; iv = new ThreadLocal&lt;byte[]&gt;() {<a name="line.148"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html
index 32e2b76..ccbbfd0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/SecureWALCellCodec.html
@@ -38,7 +38,7 @@
 <span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.Cell;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.KeyValue;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.KeyValueUtil;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.33"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.33"></a>
 <span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.io.crypto.Decryptor;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.crypto.Encryption;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.crypto.Encryptor;<a name="line.36"></a>
@@ -68,7 +68,7 @@
 <span class="sourceLineNo">060</span>    this.decryptor = decryptor;<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodec.KeyValueDecoder {<a name="line.63"></a>
+<span class="sourceLineNo">063</span>  static class EncryptedKvDecoder extends KeyValueCodecWithTags.KeyValueDecoder {<a name="line.63"></a>
 <span class="sourceLineNo">064</span><a name="line.64"></a>
 <span class="sourceLineNo">065</span>    private Decryptor decryptor;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>    private byte[] iv;<a name="line.66"></a>
@@ -150,7 +150,7 @@
 <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>  static class EncryptedKvEncoder extends KeyValueCodec.KeyValueEncoder {<a name="line.145"></a>
+<span class="sourceLineNo">145</span>  static class EncryptedKvEncoder extends KeyValueCodecWithTags.KeyValueEncoder {<a name="line.145"></a>
 <span class="sourceLineNo">146</span><a name="line.146"></a>
 <span class="sourceLineNo">147</span>    private Encryptor encryptor;<a name="line.147"></a>
 <span class="sourceLineNo">148</span>    private final ThreadLocal&lt;byte[]&gt; iv = new ThreadLocal&lt;byte[]&gt;() {<a name="line.148"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.BaosAndCompressor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.BaosAndCompressor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.BaosAndCompressor.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.BaosAndCompressor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.BaosAndCompressor.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringCompressor.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.ByteStringUncompressor.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvDecoder.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.CompressedKvEncoder.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.EnsureKvEncoder.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.html
index 78d7de4..2a37f48 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALCellCodec.html
@@ -39,7 +39,7 @@
 <span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.codec.BaseDecoder;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.codec.BaseEncoder;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodec;<a name="line.34"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.codec.KeyValueCodecWithTags;<a name="line.34"></a>
 <span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.io.util.Dictionary;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.io.util.StreamUtils;<a name="line.36"></a>
 <span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.37"></a>
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
 <span class="sourceLineNo">345</span>  public Decoder getDecoder(InputStream is) {<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    return (compression == null)<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        ? new KeyValueCodec.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>        ? new KeyValueCodecWithTags.KeyValueDecoder(is) : new CompressedKvDecoder(is, compression);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>  }<a name="line.348"></a>
 <span class="sourceLineNo">349</span><a name="line.349"></a>
 <span class="sourceLineNo">350</span>  @Override<a name="line.350"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
index e22025e..a74e672 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/wal/WALEdit.html
@@ -107,7 +107,7 @@
 <span class="sourceLineNo">099</span>  private final int VERSION_2 = -1;<a name="line.99"></a>
 <span class="sourceLineNo">100</span>  private final boolean isReplay;<a name="line.100"></a>
 <span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>  private ArrayList&lt;Cell&gt; cells = null;<a name="line.102"></a>
+<span class="sourceLineNo">102</span>  private ArrayList&lt;Cell&gt; cells = new ArrayList&lt;Cell&gt;(1);<a name="line.102"></a>
 <span class="sourceLineNo">103</span><a name="line.103"></a>
 <span class="sourceLineNo">104</span>  public static final WALEdit EMPTY_WALEDIT = new WALEdit();<a name="line.104"></a>
 <span class="sourceLineNo">105</span><a name="line.105"></a>
@@ -126,279 +126,273 @@
 <span class="sourceLineNo">118</span><a name="line.118"></a>
 <span class="sourceLineNo">119</span>  public WALEdit(boolean isReplay) {<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    this.isReplay = isReplay;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    cells = new ArrayList&lt;Cell&gt;(1);<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  }<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public WALEdit(int cellCount) {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    this.isReplay = false;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    cells = new ArrayList&lt;Cell&gt;(cellCount);<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>   * @param f<a name="line.130"></a>
-<span class="sourceLineNo">131</span>   * @return True is &lt;code&gt;f&lt;/code&gt; is {@link #METAFAMILY}<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   */<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  public static boolean isMetaEditFamily(final byte [] f) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    return Bytes.equals(METAFAMILY, f);<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>  public static boolean isMetaEditFamily(Cell cell) {<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    return CellUtil.matchingFamily(cell, METAFAMILY);<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>  public boolean isMetaEdit() {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    for (Cell cell: cells) {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      if (!isMetaEditFamily(cell)) {<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>    return true;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  }<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  /**<a name="line.150"></a>
-<span class="sourceLineNo">151</span>   * @return True when current WALEdit is created by log replay. Replication skips WALEdits from<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   *         replay.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   */<a name="line.153"></a>
-<span class="sourceLineNo">154</span>  public boolean isReplay() {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    return this.isReplay;<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>  public void setCompressionContext(final CompressionContext compressionContext) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    this.compressionContext = compressionContext;<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>  public WALEdit add(Cell cell) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    this.cells.add(cell);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return this;<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>  public boolean isEmpty() {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return cells.isEmpty();<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  public int size() {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    return cells.size();<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public ArrayList&lt;Cell&gt; getCells() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return cells;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  /**<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   * This is not thread safe.<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * This will change the WALEdit and shouldn't be used unless you are sure that nothing<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * else depends on the contents being immutable.<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   *<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   * @param cells the list of cells that this WALEdit now contains.<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  @InterfaceAudience.Private<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  public void setCells(ArrayList&lt;Cell&gt; cells) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    this.cells = cells;<a name="line.188"></a>
+<span class="sourceLineNo">121</span>  }<a name="line.121"></a>
+<span class="sourceLineNo">122</span><a name="line.122"></a>
+<span class="sourceLineNo">123</span>  /**<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   * @param f<a name="line.124"></a>
+<span class="sourceLineNo">125</span>   * @return True is &lt;code&gt;f&lt;/code&gt; is {@link #METAFAMILY}<a name="line.125"></a>
+<span class="sourceLineNo">126</span>   */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  public static boolean isMetaEditFamily(final byte [] f) {<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    return Bytes.equals(METAFAMILY, f);<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>  public static boolean isMetaEditFamily(Cell cell) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    return CellUtil.matchingFamily(cell, METAFAMILY);<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>  public boolean isMetaEdit() {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    for (Cell cell: cells) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      if (!isMetaEditFamily(cell)) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        return false;<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>    return true;<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>   * @return True when current WALEdit is created by log replay. Replication skips WALEdits from<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   *         replay.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  public boolean isReplay() {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    return this.isReplay;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public void setCompressionContext(final CompressionContext compressionContext) {<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    this.compressionContext = compressionContext;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public WALEdit add(Cell cell) {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    this.cells.add(cell);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return this;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  public boolean isEmpty() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return cells.isEmpty();<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>  public int size() {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    return cells.size();<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 ArrayList&lt;Cell&gt; getCells() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    return cells;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>  }<a name="line.171"></a>
+<span class="sourceLineNo">172</span><a name="line.172"></a>
+<span class="sourceLineNo">173</span>  /**<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   * This is not thread safe.<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * This will change the WALEdit and shouldn't be used unless you are sure that nothing<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * else depends on the contents being immutable.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   *<a name="line.177"></a>
+<span class="sourceLineNo">178</span>   * @param cells the list of cells that this WALEdit now contains.<a name="line.178"></a>
+<span class="sourceLineNo">179</span>   */<a name="line.179"></a>
+<span class="sourceLineNo">180</span>  @InterfaceAudience.Private<a name="line.180"></a>
+<span class="sourceLineNo">181</span>  public void setCells(ArrayList&lt;Cell&gt; cells) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    this.cells = cells;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  public NavigableMap&lt;byte[], Integer&gt; getAndRemoveScopes() {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    NavigableMap&lt;byte[], Integer&gt; result = scopes;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    scopes = null;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    return result;<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>  public NavigableMap&lt;byte[], Integer&gt; getAndRemoveScopes() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    NavigableMap&lt;byte[], Integer&gt; result = scopes;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    scopes = null;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    return result;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  public void readFields(DataInput in) throws IOException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    cells.clear();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    if (scopes != null) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      scopes.clear();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    int versionOrLength = in.readInt();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    // TODO: Change version when we protobuf.  Also, change way we serialize KV!  Pb it too.<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    if (versionOrLength == VERSION_2) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>      // this is new style WAL entry containing multiple KeyValues.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      int numEdits = in.readInt();<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      for (int idx = 0; idx &lt; numEdits; idx++) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>        if (compressionContext != null) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>          this.add(KeyValueCompression.readKV(in, compressionContext));<a name="line.210"></a>
-<span class="sourceLineNo">211</span>        } else {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>          this.add(KeyValueUtil.create(in));<a name="line.212"></a>
+<span class="sourceLineNo">191</span>  @Override<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  public void readFields(DataInput in) throws IOException {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    cells.clear();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    if (scopes != null) {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>      scopes.clear();<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    }<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    int versionOrLength = in.readInt();<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    // TODO: Change version when we protobuf.  Also, change way we serialize KV!  Pb it too.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    if (versionOrLength == VERSION_2) {<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      // this is new style WAL entry containing multiple KeyValues.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      int numEdits = in.readInt();<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      for (int idx = 0; idx &lt; numEdits; idx++) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        if (compressionContext != null) {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          this.add(KeyValueCompression.readKV(in, compressionContext));<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } else {<a name="line.205"></a>
+<span class="sourceLineNo">206</span>          this.add(KeyValueUtil.create(in));<a name="line.206"></a>
+<span class="sourceLineNo">207</span>        }<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      }<a name="line.208"></a>
+<span class="sourceLineNo">209</span>      int numFamilies = in.readInt();<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      if (numFamilies &gt; 0) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        if (scopes == null) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          scopes = new TreeMap&lt;byte[], Integer&gt;(Bytes.BYTES_COMPARATOR);<a name="line.212"></a>
 <span class="sourceLineNo">213</span>        }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      }<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      int numFamilies = in.readInt();<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      if (numFamilies &gt; 0) {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>        if (scopes == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>          scopes = new TreeMap&lt;byte[], Integer&gt;(Bytes.BYTES_COMPARATOR);<a name="line.218"></a>
-<span class="sourceLineNo">219</span>        }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>        for (int i = 0; i &lt; numFamilies; i++) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          byte[] fam = Bytes.readByteArray(in);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>          int scope = in.readInt();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          scopes.put(fam, scope);<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>    } else {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      // this is an old style WAL entry. The int that we just<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      // read is actually the length of a single KeyValue<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      this.add(KeyValueUtil.create(versionOrLength, in));<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><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  @Override<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  public void write(DataOutput out) throws IOException {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    LOG.warn("WALEdit is being serialized to writable - only expected in test code");<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    out.writeInt(VERSION_2);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    out.writeInt(cells.size());<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    // We interleave the two lists for code simplicity<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    for (Cell cell : cells) {<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      // This is not used in any of the core code flows so it is just fine to convert to KV<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      if (compressionContext != null) {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        KeyValueCompression.writeKV(out, kv, compressionContext);<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      } else{<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        KeyValueUtil.write(kv, out);<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>    if (scopes == null) {<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      out.writeInt(0);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    } else {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      out.writeInt(scopes.size());<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      for (byte[] key : scopes.keySet()) {<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        Bytes.writeByteArray(out, key);<a name="line.253"></a>
-<span class="sourceLineNo">254</span>        out.writeInt(scopes.get(key));<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>  /**<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * Reads WALEdit from cells.<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param cellDecoder Cell decoder.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * @param expectedCount Expected cell count.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @return Number of KVs read.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  public int readFromCells(Codec.Decoder cellDecoder, int expectedCount) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    cells.clear();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    cells.ensureCapacity(expectedCount);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    while (cells.size() &lt; expectedCount &amp;&amp; cellDecoder.advance()) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      cells.add(cellDecoder.current());<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    }<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    return cells.size();<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  public long heapSize() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    long ret = ClassSize.ARRAYLIST;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    for (Cell cell : cells) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      ret += CellUtil.estimatedHeapSizeOf(cell);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    }<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    if (scopes != null) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      ret += ClassSize.TREEMAP;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      ret += ClassSize.align(scopes.size() * ClassSize.MAP_ENTRY);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      // TODO this isn't quite right, need help here<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    return ret;<a name="line.285"></a>
-<span class="sourceLineNo">286</span>  }<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>  @Override<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  public String toString() {<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    StringBuilder sb = new StringBuilder();<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>    sb.append("[#edits: " + cells.size() + " = &lt;");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    for (Cell cell : cells) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      sb.append(cell);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>      sb.append("; ");<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    if (scopes != null) {<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      sb.append(" scopes: " + scopes.toString());<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    }<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    sb.append("&gt;]");<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    return sb.toString();<a name="line.301"></a>
+<span class="sourceLineNo">214</span>        for (int i = 0; i &lt; numFamilies; i++) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          byte[] fam = Bytes.readByteArray(in);<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          int scope = in.readInt();<a name="line.216"></a>
+<span class="sourceLineNo">217</span>          scopes.put(fam, scope);<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>    } else {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      // this is an old style WAL entry. The int that we just<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      // read is actually the length of a single KeyValue<a name="line.222"></a>
+<span class="sourceLineNo">223</span>      this.add(KeyValueUtil.create(versionOrLength, in));<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>  @Override<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  public void write(DataOutput out) throws IOException {<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    LOG.warn("WALEdit is being serialized to writable - only expected in test code");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    out.writeInt(VERSION_2);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    out.writeInt(cells.size());<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // We interleave the two lists for code simplicity<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    for (Cell cell : cells) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      // This is not used in any of the core code flows so it is just fine to convert to KV<a name="line.234"></a>
+<span class="sourceLineNo">235</span>      KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      if (compressionContext != null) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        KeyValueCompression.writeKV(out, kv, compressionContext);<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      } else{<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        KeyValueUtil.write(kv, out);<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>    if (scopes == null) {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>      out.writeInt(0);<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    } else {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      out.writeInt(scopes.size());<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      for (byte[] key : scopes.keySet()) {<a name="line.246"></a>
+<span class="sourceLineNo">247</span>        Bytes.writeByteArray(out, key);<a name="line.247"></a>
+<span class="sourceLineNo">248</span>        out.writeInt(scopes.get(key));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      }<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    }<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  }<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>  /**<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * Reads WALEdit from cells.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param cellDecoder Cell decoder.<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param expectedCount Expected cell count.<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @return Number of KVs read.<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public int readFromCells(Codec.Decoder cellDecoder, int expectedCount) throws IOException {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    cells.clear();<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    cells.ensureCapacity(expectedCount);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>    while (cells.size() &lt; expectedCount &amp;&amp; cellDecoder.advance()) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      cells.add(cellDecoder.current());<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    }<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    return cells.size();<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>  @Override<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  public long heapSize() {<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    long ret = ClassSize.ARRAYLIST;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    for (Cell cell : cells) {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      ret += CellUtil.estimatedHeapSizeOf(cell);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    }<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    if (scopes != null) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      ret += ClassSize.TREEMAP;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      ret += ClassSize.align(scopes.size() * ClassSize.MAP_ENTRY);<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      // TODO this isn't quite right, need help here<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    }<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    return ret;<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>  @Override<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public String toString() {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>    StringBuilder sb = new StringBuilder();<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    sb.append("[#edits: " + cells.size() + " = &lt;");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    for (Cell cell : cells) {<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      sb.append(cell);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      sb.append("; ");<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    if (scopes != null) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      sb.append(" scopes: " + scopes.toString());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    sb.append("&gt;]");<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    return sb.toString();<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  }<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  public static WALEdit createFlushWALEdit(HRegionInfo hri, FlushDescriptor f) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, FLUSH,<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      EnvironmentEdgeManager.currentTime(), f.toByteArray());<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return new WALEdit().add(kv);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>  }<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public static WALEdit createFlushWALEdit(HRegionInfo hri, FlushDescriptor f) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, FLUSH,<a name="line.305"></a>
-<span class="sourceLineNo">306</span>      EnvironmentEdgeManager.currentTime(), f.toByteArray());<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    return new WALEdit().add(kv);<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 static FlushDescriptor getFlushDescriptor(Cell cell) throws IOException {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, FLUSH)) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      return FlushDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    }<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    return null;<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>  public static WALEdit createRegionEventWALEdit(HRegionInfo hri,<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      RegionEventDescriptor regionEventDesc) {<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, REGION_EVENT,<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      EnvironmentEdgeManager.currentTime(), regionEventDesc.toByteArray());<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    return new WALEdit().add(kv);<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>  public static RegionEventDescriptor getRegionEventDescriptor(Cell cell) throws IOException {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, REGION_EVENT)) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      return RegionEventDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    return null;<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>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Create a compaction WALEdit<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param c<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * @return A WALEdit that has &lt;code&gt;c&lt;/code&gt; serialized as its value<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   */<a name="line.335"></a>
-<span class="sourceLineNo">336</span>  public static WALEdit createCompaction(final HRegionInfo hri, final CompactionDescriptor c) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    byte [] pbbytes = c.toByteArray();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, COMPACTION,<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      EnvironmentEdgeManager.currentTime(), pbbytes);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    return new WALEdit().add(kv); //replication scope null so that this won't be replicated<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 byte[] getRowForRegion(HRegionInfo hri) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    byte[] startKey = hri.getStartKey();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    if (startKey.length == 0) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      // empty row key is not allowed in mutations because it is both the start key and the end key<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      // we return the smallest byte[] that is bigger (in lex comparison) than byte[0].<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      return new byte[] {0};<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    }<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    return startKey;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>  }<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>  /**<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   * Deserialized and returns a CompactionDescriptor is the KeyValue contains one.<a name="line.354"></a>
-<span class="sourceLineNo">355</span>   * @param kv the key value<a name="line.355"></a>
-<span class="sourceLineNo">356</span>   * @return deserialized CompactionDescriptor or null.<a name="line.356"></a>
-<span class="sourceLineNo">357</span>   */<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  public static CompactionDescriptor getCompaction(Cell kv) throws IOException {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    if (CellUtil.matchingColumn(kv, METAFAMILY, COMPACTION)) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      return CompactionDescriptor.parseFrom(CellUtil.cloneValue(kv));<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    return null;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>  }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>  /**<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * Create a bulk loader WALEdit<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   *<a name="line.367"></a>
-<span class="sourceLineNo">368</span>   * @param hri                The HRegionInfo for the region in which we are bulk loading<a name="line.368"></a>
-<span class="sourceLineNo">369</span>   * @param bulkLoadDescriptor The descriptor for the Bulk Loader<a name="line.369"></a>
-<span class="sourceLineNo">370</span>   * @return The WALEdit for the BulkLoad<a name="line.370"></a>
-<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
-<span class="sourceLineNo">372</span>  public static WALEdit createBulkLoadEvent(HRegionInfo hri,<a name="line.372"></a>
-<span class="sourceLineNo">373</span>                                            WALProtos.BulkLoadDescriptor bulkLoadDescriptor) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    KeyValue kv = new KeyValue(getRowForRegion(hri),<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        METAFAMILY,<a name="line.375"></a>
-<span class="sourceLineNo">376</span>        BULK_LOAD,<a name="line.376"></a>
-<span class="sourceLineNo">377</span>        EnvironmentEdgeManager.currentTime(),<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        bulkLoadDescriptor.toByteArray());<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    return new WALEdit().add(kv);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>  }<a name="line.380"></a>
-<span class="sourceLineNo">381</span><a name="line.381"></a>
-<span class="sourceLineNo">382</span>  /**<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * Deserialized and returns a BulkLoadDescriptor from the passed in Cell<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   * @param cell the key value<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * @return deserialized BulkLoadDescriptor or null.<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
-<span class="sourceLineNo">387</span>  public static WALProtos.BulkLoadDescriptor getBulkLoadDescriptor(Cell cell) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, BULK_LOAD)) {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      return WALProtos.BulkLoadDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    return null;<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">304</span>  public static FlushDescriptor getFlushDescriptor(Cell cell) throws IOException {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, FLUSH)) {<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      return FlushDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    }<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    return null;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>  }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public static WALEdit createRegionEventWALEdit(HRegionInfo hri,<a name="line.311"></a>
+<span class="sourceLineNo">312</span>      RegionEventDescriptor regionEventDesc) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, REGION_EVENT,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      EnvironmentEdgeManager.currentTime(), regionEventDesc.toByteArray());<a name="line.314"></a>
+<span class="sourceLineNo">315</span>    return new WALEdit().add(kv);<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 static RegionEventDescriptor getRegionEventDescriptor(Cell cell) throws IOException {<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, REGION_EVENT)) {<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      return RegionEventDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.320"></a>
+<span class="sourceLineNo">321</span>    }<a name="line.321"></a>
+<span class="sourceLineNo">322</span>    return null;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  /**<a name="line.325"></a>
+<span class="sourceLineNo">326</span>   * Create a compaction WALEdit<a name="line.326"></a>
+<span class="sourceLineNo">327</span>   * @param c<a name="line.327"></a>
+<span class="sourceLineNo">328</span>   * @return A WALEdit that has &lt;code&gt;c&lt;/code&gt; serialized as its value<a name="line.328"></a>
+<span class="sourceLineNo">329</span>   */<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  public static WALEdit createCompaction(final HRegionInfo hri, final CompactionDescriptor c) {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    byte [] pbbytes = c.toByteArray();<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    KeyValue kv = new KeyValue(getRowForRegion(hri), METAFAMILY, COMPACTION,<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      EnvironmentEdgeManager.currentTime(), pbbytes);<a name="line.333"></a>
+<span class="sourceLineNo">334</span>    return new WALEdit().add(kv); //replication scope null so that this won't be replicated<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  }<a name="line.335"></a>
+<span class="sourceLineNo">336</span><a name="line.336"></a>
+<span class="sourceLineNo">337</span>  private static byte[] getRowForRegion(HRegionInfo hri) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    byte[] startKey = hri.getStartKey();<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    if (startKey.length == 0) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      // empty row key is not allowed in mutations because it is both the start key and the end key<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      // we return the smallest byte[] that is bigger (in lex comparison) than byte[0].<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      return new byte[] {0};<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    return startKey;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  }<a name="line.345"></a>
+<span class="sourceLineNo">346</span><a name="line.346"></a>
+<span class="sourceLineNo">347</span>  /**<a name="line.347"></a>
+<span class="sourceLineNo">348</span>   * Deserialized and returns a CompactionDescriptor is the KeyValue contains one.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>   * @param kv the key value<a name="line.349"></a>
+<span class="sourceLineNo">350</span>   * @return deserialized CompactionDescriptor or null.<a name="line.350"></a>
+<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  public static CompactionDescriptor getCompaction(Cell kv) throws IOException {<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    if (CellUtil.matchingColumn(kv, METAFAMILY, COMPACTION)) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      return CompactionDescriptor.parseFrom(CellUtil.cloneValue(kv));<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return null;<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  /**<a name="line.359"></a>
+<span class="sourceLineNo">360</span>   * Create a bulk loader WALEdit<a name="line.360"></a>
+<span class="sourceLineNo">361</span>   *<a name="line.361"></a>
+<span class="sourceLineNo">362</span>   * @param hri                The HRegionInfo for the region in which we are bulk loading<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * @param bulkLoadDescriptor The descriptor for the Bulk Loader<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * @return The WALEdit for the BulkLoad<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  public static WALEdit createBulkLoadEvent(HRegionInfo hri,<a name="line.366"></a>
+<span class="sourceLineNo">367</span>                                            WALProtos.BulkLoadDescriptor bulkLoadDescriptor) {<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    KeyValue kv = new KeyValue(getRowForRegion(hri),<a name="line.368"></a>
+<span class="sourceLineNo">369</span>        METAFAMILY,<a name="line.369"></a>
+<span class="sourceLineNo">370</span>        BULK_LOAD,<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        EnvironmentEdgeManager.currentTime(),<a name="line.371"></a>
+<span class="sourceLineNo">372</span>        bulkLoadDescriptor.toByteArray());<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    return new WALEdit().add(kv);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
+<span class="sourceLineNo">375</span><a name="line.375"></a>
+<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
+<span class="sourceLineNo">377</span>   * Deserialized and returns a BulkLoadDescriptor from the passed in Cell<a name="line.377"></a>
+<span class="sourceLineNo">378</span>   * @param cell the key value<a name="line.378"></a>
+<span class="sourceLineNo">379</span>   * @return deserialized BulkLoadDescriptor or null.<a name="line.379"></a>
+<span class="sourceLineNo">380</span>   */<a name="line.380"></a>
+<span class="sourceLineNo">381</span>  public static WALProtos.BulkLoadDescriptor getBulkLoadDescriptor(Cell cell) throws IOException {<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    if (CellUtil.matchingColumn(cell, METAFAMILY, BULK_LOAD)) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return WALProtos.BulkLoadDescriptor.parseFrom(CellUtil.cloneValue(cell));<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>    return null;<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>
 
 
 


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/HTestConst.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/HTestConst.html b/testdevapidocs/org/apache/hadoop/hbase/HTestConst.html
index caeffbb..6d153ce 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/HTestConst.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/HTestConst.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/HFilePerformanceEvaluation.UniformRandomSmallScan.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/HTestConst.html" target="_top">Frames</a></li>
@@ -405,7 +405,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/hadoop/hbase/HFilePerformanceEvaluation.UniformRandomSmallScan.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/HTestConst.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/IncrementPerformanceTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/IncrementPerformanceTest.html b/testdevapidocs/org/apache/hadoop/hbase/IncrementPerformanceTest.html
deleted file mode 100644
index 10db5fe..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/IncrementPerformanceTest.html
+++ /dev/null
@@ -1,482 +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>IncrementPerformanceTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="IncrementPerformanceTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IncrementPerformanceTest.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/HTestConst.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/hadoop/hbase/IncrementPerformanceTest.html" target="_top">Frames</a></li>
-<li><a href="IncrementPerformanceTest.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</div>
-<h2 title="Class IncrementPerformanceTest" class="title">Class IncrementPerformanceTest</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.IncrementPerformanceTest</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.51">IncrementPerformanceTest</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements org.apache.hadoop.util.Tool</pre>
-<div class="block">Simple Increments Performance Test. Run this from main. It is to go against a cluster.
- Presumption is the table exists already. Defaults are a zk ensemble of localhost:2181,
- a tableName of 'tableName', a column famly name of 'columnFamilyName', with 80 threads by
- default and 10000 increments per thread. To change any of these configs, pass -DNAME=VALUE as
- in -DtableName="newTableName". It prints out configuration it is running with at the start and
- on the end it prints out percentiles.</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>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/IncrementPerformanceTest.html#COLUMN_FAMILY">COLUMN_FAMILY</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#conf">conf</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#DEFAULT_INCREMENT_COUNT">DEFAULT_INCREMENT_COUNT</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/IncrementPerformanceTest.html#DEFAULT_THREAD_COUNT">DEFAULT_THREAD_COUNT</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#INCREMENT_COUNT">INCREMENT_COUNT</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#LOG">LOG</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private com.codahale.metrics.MetricRegistry</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#metrics">metrics</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static byte[]</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#QUALIFIER">QUALIFIER</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#TABLENAME">TABLENAME</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/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/IncrementPerformanceTest.html#THREAD_COUNT">THREAD_COUNT</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/IncrementPerformanceTest.html#IncrementPerformanceTest()">IncrementPerformanceTest</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.conf.Configuration</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#getConf()">getConf</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#main(java.lang.String[])">main</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#run(java.lang.String[])">run</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html#setConf(org.apache.hadoop.conf.Configuration)">setConf</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf)</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="LOG">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.52">LOG</a></pre>
-</li>
-</ul>
-<a name="QUALIFIER">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>QUALIFIER</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.53">QUALIFIER</a></pre>
-</li>
-</ul>
-<a name="conf">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>conf</h4>
-<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.54">conf</a></pre>
-</li>
-</ul>
-<a name="metrics">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>metrics</h4>
-<pre>private final&nbsp;com.codahale.metrics.MetricRegistry <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.55">metrics</a></pre>
-</li>
-</ul>
-<a name="TABLENAME">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TABLENAME</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/IncrementPerformanceTest.html#line.56">TABLENAME</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.TABLENAME">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="COLUMN_FAMILY">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>COLUMN_FAMILY</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/IncrementPerformanceTest.html#line.57">COLUMN_FAMILY</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.COLUMN_FAMILY">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="THREAD_COUNT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>THREAD_COUNT</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/IncrementPerformanceTest.html#line.58">THREAD_COUNT</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.THREAD_COUNT">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_THREAD_COUNT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_THREAD_COUNT</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.59">DEFAULT_THREAD_COUNT</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.DEFAULT_THREAD_COUNT">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="INCREMENT_COUNT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>INCREMENT_COUNT</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/IncrementPerformanceTest.html#line.60">INCREMENT_COUNT</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.INCREMENT_COUNT">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_INCREMENT_COUNT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DEFAULT_INCREMENT_COUNT</h4>
-<pre>private static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.61">DEFAULT_INCREMENT_COUNT</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.IncrementPerformanceTest.DEFAULT_INCREMENT_COUNT">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IncrementPerformanceTest()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IncrementPerformanceTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.63">IncrementPerformanceTest</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="run(java.lang.String[])">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.65">run</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.util.Tool</code></dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
-</li>
-</ul>
-<a name="getConf()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getConf</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.116">getConf</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>getConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="setConf(org.apache.hadoop.conf.Configuration)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setConf</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.121">setConf</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>setConf</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.conf.Configurable</code></dd>
-</dl>
-</li>
-</ul>
-<a name="main(java.lang.String[])">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/IncrementPerformanceTest.html#line.125">main</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
-                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
-</li>
-</ul>
-</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/IncrementPerformanceTest.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/HTestConst.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../index.html?org/apache/hadoop/hbase/IncrementPerformanceTest.html" target="_top">Frames</a></li>
-<li><a href="IncrementPerformanceTest.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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html b/testdevapidocs/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html
index e153a19..d130d91 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/HTestConst.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -443,7 +443,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/IntegrationTestBase.html" t
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/IncrementPerformanceTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/HTestConst.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/IntegrationTestBase.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
new file mode 100644
index 0000000..ffd1317
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html
@@ -0,0 +1,328 @@
+<!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>PerformanceEvaluation.AppendTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.AppendTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.AppendTest.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/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.AppendTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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</div>
+<h2 title="Class PerformanceEvaluation.AppendTest" class="title">Class PerformanceEvaluation.AppendTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.AppendTest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1529">PerformanceEvaluation.AppendTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#PerformanceEvaluation.AppendTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.AppendTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#testRow(int)">testRow</a></strong>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PerformanceEvaluation.AppendTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.AppendTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.1530">PerformanceEvaluation.AppendTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRow(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRow</h4>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html#line.1535">testRow</a>(int&nbsp;i)
+       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>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</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/PerformanceEvaluation.AppendTest.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/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.AppendTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
index b15e349..021f7d9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html
@@ -35,8 +35,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" target="_top">Frames</a></li>
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1188">PerformanceEvaluation.BufferedMutatorTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1213">PerformanceEvaluation.BufferedMutatorTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></pre>
 </li>
 </ul>
@@ -187,7 +187,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apach
 e.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -216,7 +216,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>mutator</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.BufferedMutator <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1189">mutator</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.BufferedMutator <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1214">mutator</a></pre>
 </li>
 </ul>
 </li>
@@ -233,7 +233,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.BufferedMutatorTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1191">PerformanceEvaluation.BufferedMutatorTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1216">PerformanceEvaluation.BufferedMutatorTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -252,7 +252,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1196">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1221">onStartup</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>
@@ -267,7 +267,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1201">onTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html#line.1226">onTakedown</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>
@@ -302,8 +302,8 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
new file mode 100644
index 0000000..41672c2
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html
@@ -0,0 +1,382 @@
+<!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>PerformanceEvaluation.CASTableTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.CASTableTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.CASTableTest.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/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CASTableTest.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</div>
+<h2 title="Class PerformanceEvaluation.CASTableTest" class="title">Class PerformanceEvaluation.CASTableTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</li>
+</ul>
+</li>
+</ul>
+</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/PerformanceEvaluation.AppendTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.AppendTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndDeleteTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndMutateTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CheckAndPutTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.IncrementTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.IncrementTest</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1494">PerformanceEvaluation.CASTableTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
+<div class="block">Base class for operations that are CAS-like; that read a value and then set it based off what
+ they read. In this category is increment, append, checkAndPut, etc.
+
+ <p>These operations also want some concurrency going on. Usually when these tests run, they
+ operate in their own part of the key range. In CASTest, we will have them all overlap on the
+ same key space. We do this with our getStartRow and getLastRow overrides.</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>private byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#qualifier">qualifier</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#PerformanceEvaluation.CASTableTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CASTableTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                    <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) byte[]</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#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="qualifier">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>qualifier</h4>
+<pre>private final&nbsp;byte[] <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1495">qualifier</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="PerformanceEvaluation.CASTableTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.CASTableTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1496">PerformanceEvaluation.CASTableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                  <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getQualifier()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getQualifier</h4>
+<pre>byte[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1501">getQualifier</a>()</pre>
+</li>
+</ul>
+<a name="getStartRow()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStartRow</h4>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1506">getStartRow</a>()</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getLastRow()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLastRow</h4>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#line.1511">getLastRow</a>()</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.CASTableTest.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/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CASTableTest.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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
index 0a8fce1..01ad1ca 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
@@ -137,2735 +137,2786 @@
 <span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.129"></a>
 <span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.130"></a>
 <span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.security.User;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.zookeeper.KeeperException;<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>import com.google.common.annotations.VisibleForTesting;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import com.google.protobuf.ByteString;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import com.google.protobuf.Message;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import com.google.protobuf.RpcController;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import com.google.protobuf.ServiceException;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.195"></a>
-<span class="sourceLineNo">196</span> */<a name="line.196"></a>
-<span class="sourceLineNo">197</span>@InterfaceAudience.Private<a name="line.197"></a>
-<span class="sourceLineNo">198</span>@SuppressWarnings("deprecation")<a name="line.198"></a>
-<span class="sourceLineNo">199</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    ConfigurationObserver {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** RPC scheduler to use for the region server. */<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>  /**<a name="line.208"></a>
-<span class="sourceLineNo">209</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.209"></a>
-<span class="sourceLineNo">210</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.218"></a>
-<span class="sourceLineNo">219</span><a name="line.219"></a>
-<span class="sourceLineNo">220</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  final Counter requestCount = new Counter();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  // Server to handle client requests.<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  final RpcServerInterface rpcServer;<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  final InetSocketAddress isa;<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  private final HRegionServer regionServer;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  private final long maxScannerResultSize;<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  // The reference to the priority extraction function<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  private final PriorityFunction priority;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<a name="line.234"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ClientService;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Condition;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.GetResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ResultOrException;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanResponse;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.quotas.RegionServerQuotaManager;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.regionserver.Region.FlushResult;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.security.User;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.util.Counter;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.zookeeper.KeeperException;<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.protobuf.ByteString;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import com.google.protobuf.Message;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import com.google.protobuf.RpcController;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import com.google.protobuf.ServiceException;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import com.google.protobuf.TextFormat;<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> * Implements the regionserver RPC services.<a name="line.196"></a>
+<span class="sourceLineNo">197</span> */<a name="line.197"></a>
+<span class="sourceLineNo">198</span>@InterfaceAudience.Private<a name="line.198"></a>
+<span class="sourceLineNo">199</span>@SuppressWarnings("deprecation")<a name="line.199"></a>
+<span class="sourceLineNo">200</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    ConfigurationObserver {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>  /** RPC scheduler to use for the region server. */<a name="line.205"></a>
+<span class="sourceLineNo">206</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.210"></a>
+<span class="sourceLineNo">211</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.221"></a>
+<span class="sourceLineNo">222</span>  final Counter requestCount = new Counter();<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>  // Request counter for rpc get<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  final Counter rpcGetRequestCount = new Counter();<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  // Request counter for rpc scan<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  final Counter rpcScanRequestCount = new Counter();<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>  // Request counter for rpc multi<a name="line.230"></a>
+<span class="sourceLineNo">231</span>  final Counter rpcMultiRequestCount = new Counter();<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>  // Request counter for rpc mutate<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  final Counter rpcMutateRequestCount = new Counter();<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 lease timeout period for client scanners (milliseconds).<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private final int scannerLeaseTimeoutPeriod;<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>   * The RPC timeout period (milliseconds)<a name="line.242"></a>
-<span class="sourceLineNo">243</span>   */<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  private final int rpcTimeout;<a name="line.244"></a>
+<span class="sourceLineNo">236</span>  // Server to handle client requests.<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  final RpcServerInterface rpcServer;<a name="line.237"></a>
+<span class="sourceLineNo">238</span>  final InetSocketAddress isa;<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>  private final HRegionServer regionServer;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  private final long maxScannerResultSize;<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  // The reference to the priority extraction function<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  private final PriorityFunction priority;<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>   * The minimum allowable delta to use for the scan limit<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  private final long minimumScanTimeLimitDelta;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * An Rpc callback for closing a RegionScanner.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    private final RegionScanner scanner;<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      this.scanner = scanner;<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>    @Override<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    public void run() throws IOException {<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      this.scanner.close();<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    }<a name="line.265"></a>
-<span class="sourceLineNo">266</span>  }<a name="line.266"></a>
-<span class="sourceLineNo">267</span><a name="line.267"></a>
-<span class="sourceLineNo">268</span>  /**<a name="line.268"></a>
-<span class="sourceLineNo">269</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span>    private final String scannerName;<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    private final RegionScanner scanner;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    private final Lease lease;<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      this.scannerName = scannerName;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      this.scanner = scanner;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.lease = lease;<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    }<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    @Override<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    public void run() throws IOException {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      this.scanner.shipped();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      if (scanners.containsKey(scannerName)) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  }<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>  /**<a name="line.294"></a>
-<span class="sourceLineNo">295</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.295"></a>
-<span class="sourceLineNo">296</span>   * completion of multiGets.<a name="line.296"></a>
-<span class="sourceLineNo">297</span>   */<a name="line.297"></a>
-<span class="sourceLineNo">298</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.299"></a>
-<span class="sourceLineNo">300</span><a name="line.300"></a>
-<span class="sourceLineNo">301</span>    public void addScanner(RegionScanner scanner) {<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      this.scanners.add(scanner);<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>    @Override<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    public void run() {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      for (RegionScanner scanner : scanners) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        try {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>          scanner.close();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>        } catch (IOException e) {<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<a name="line.314"></a>
-<span class="sourceLineNo">315</span>  }<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
-<span class="sourceLineNo">318</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  private static class RegionScannerHolder {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private RegionScanner s;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private Region r;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    final RpcCallback closeCallBack;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    final RpcCallback shippedCallback;<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        RpcCallback shippedCallback) {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      this.s = s;<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.r = r;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.closeCallBack = closeCallBack;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.shippedCallback = shippedCallback;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
-<span class="sourceLineNo">334</span><a name="line.334"></a>
-<span class="sourceLineNo">335</span>    private long getNextCallSeq() {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      return nextCallSeq.get();<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>    private void incNextCallSeq() {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      nextCallSeq.incrementAndGet();<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 void rollbackNextCallSeq() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      nextCallSeq.decrementAndGet();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    }<a name="line.345"></a>
-<span class="sourceLineNo">346</span>  }<a name="line.346"></a>
-<span class="sourceLineNo">347</span><a name="line.347"></a>
-<span class="sourceLineNo">348</span>  /**<a name="line.348"></a>
-<span class="sourceLineNo">349</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.349"></a>
-<span class="sourceLineNo">350</span>   * closed<a name="line.350"></a>
-<span class="sourceLineNo">351</span>   */<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  private class ScannerListener implements LeaseListener {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    private final String scannerName;<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span>    ScannerListener(final String n) {<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      this.scannerName = n;<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>    @Override<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    public void leaseExpired() {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      if (rsh != null) {<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        RegionScanner s = rsh.s;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        try {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>          }<a name="line.370"></a>
-<span class="sourceLineNo">371</span>          s.close();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        } catch (IOException e) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          LOG.error("Closing scanner for "<a name="line.376"></a>
-<span class="sourceLineNo">377</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      } else {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.380"></a>
-<span class="sourceLineNo">381</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>  }<a name="line.384"></a>
-<span class="sourceLineNo">385</span><a name="line.385"></a>
-<span class="sourceLineNo">386</span>  private static ResultOrException getResultOrException(<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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 ResultOrException getResultOrException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      final ResultOrException.Builder builder, final int index) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    return builder.setIndex(index).build();<a name="line.397"></a>
+<span class="sourceLineNo">246</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private final ConcurrentHashMap&lt;String, RegionScannerHolder&gt; scanners =<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    new ConcurrentHashMap&lt;String, RegionScannerHolder&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  /**<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * The RPC timeout period (milliseconds)<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   */<a name="line.257"></a>
+<span class="sourceLineNo">258</span>  private final int rpcTimeout;<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>   * The minimum allowable delta to use for the scan limit<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   */<a name="line.262"></a>
+<span class="sourceLineNo">263</span>  private final long minimumScanTimeLimitDelta;<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span>  /**<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * An Rpc callback for closing a RegionScanner.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   static class RegionScannerCloseCallBack implements RpcCallback {<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    private final RegionScanner scanner;<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public RegionScannerCloseCallBack(RegionScanner scanner){<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      this.scanner = scanner;<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    }<a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275"></a>
+<span class="sourceLineNo">276</span>    @Override<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    public void run() throws IOException {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      this.scanner.close();<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><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   */<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.285"></a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span>    private final String scannerName;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    private final RegionScanner scanner;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    private final Lease lease;<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      this.scannerName = scannerName;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>      this.scanner = scanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      this.lease = lease;<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span><a name="line.296"></a>
+<span class="sourceLineNo">297</span>    @Override<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>      this.scanner.shipped();<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.300"></a>
+<span class="sourceLineNo">301</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      if (scanners.containsKey(scannerName)) {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      }<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   * completion of multiGets.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;RegionScanner&gt;();<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    public void addScanner(RegionScanner scanner) {<a name="line.315"></a>
+<span class="sourceLineNo">316</span>      this.scanners.add(scanner);<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>    @Override<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    public void run() {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      for (RegionScanner scanner : scanners) {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>        try {<a name="line.322"></a>
+<span class="sourceLineNo">323</span>          scanner.close();<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        } catch (IOException e) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>        }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      }<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    }<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  }<a name="line.329"></a>
+<span class="sourceLineNo">330</span><a name="line.330"></a>
+<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   */<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  private static class RegionScannerHolder {<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    private AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    private RegionScanner s;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    private Region r;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    final RpcCallback closeCallBack;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    final RpcCallback shippedCallback;<a name="line.339"></a>
+<span class="sourceLineNo">340</span><a name="line.340"></a>
+<span class="sourceLineNo">341</span>    public RegionScannerHolder(RegionScanner s, Region r, RpcCallback closeCallBack,<a name="line.341"></a>
+<span class="sourceLineNo">342</span>        RpcCallback shippedCallback) {<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      this.s = s;<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      this.r = r;<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      this.closeCallBack = closeCallBack;<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      this.shippedCallback = shippedCallback;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    }<a name="line.347"></a>
+<span class="sourceLineNo">348</span><a name="line.348"></a>
+<span class="sourceLineNo">349</span>    private long getNextCallSeq() {<a name="line.349"></a>
+<span class="sourceLineNo">350</span>      return nextCallSeq.get();<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    }<a name="line.351"></a>
+<span class="sourceLineNo">352</span><a name="line.352"></a>
+<span class="sourceLineNo">353</span>    private void incNextCallSeq() {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      nextCallSeq.incrementAndGet();<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>    private void rollbackNextCallSeq() {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      nextCallSeq.decrementAndGet();<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><a name="line.361"></a>
+<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
+<span class="sourceLineNo">363</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.363"></a>
+<span class="sourceLineNo">364</span>   * closed<a name="line.364"></a>
+<span class="sourceLineNo">365</span>   */<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  private class ScannerListener implements LeaseListener {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    private final String scannerName;<a name="line.367"></a>
+<span class="sourceLineNo">368</span><a name="line.368"></a>
+<span class="sourceLineNo">369</span>    ScannerListener(final String n) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      this.scannerName = n;<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>    @Override<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    public void leaseExpired() {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>      if (rsh != null) {<a name="line.376"></a>
+<span class="sourceLineNo">377</span>        RegionScanner s = rsh.s;<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.378"></a>
+<span class="sourceLineNo">379</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        try {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          Region region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>          }<a name="line.384"></a>
+<span class="sourceLineNo">385</span>          s.close();<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>            region.getCoprocessorHost().postScannerClose(s);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>          }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>        } catch (IOException e) {<a name="line.389"></a>
+<span class="sourceLineNo">390</span>          LOG.error("Closing scanner for "<a name="line.390"></a>
+<span class="sourceLineNo">391</span>            + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.391"></a>
+<span class="sourceLineNo">392</span>        }<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      } else {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.394"></a>
+<span class="sourceLineNo">395</span>          " scanner found, hence no chance to close that related scanner!");<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      }<a name="line.396"></a>
+<span class="sourceLineNo">397</span>    }<a name="line.397"></a>
 <span class="sourceLineNo">398</span>  }<a name="line.398"></a>
 <span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  /**<a name="line.400"></a>
-<span class="sourceLineNo">401</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.401"></a>
-<span class="sourceLineNo">402</span>   * @param mutation Mutation.<a name="line.402"></a>
-<span class="sourceLineNo">403</span>   * @param nonceGroup Nonce group from the request.<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.406"></a>
-<span class="sourceLineNo">407</span>      throws IOException, OperationConflictException {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>    boolean canProceed = false;<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    try {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.411"></a>
-<span class="sourceLineNo">412</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.412"></a>
-<span class="sourceLineNo">413</span>    } catch (InterruptedException ex) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.414"></a>
-<span class="sourceLineNo">415</span>    }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>    if (!canProceed) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.417"></a>
-<span class="sourceLineNo">418</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        + "] may have already completed";<a name="line.420"></a>
-<span class="sourceLineNo">421</span>      throw new OperationConflictException(message);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    }<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    return mutation.getNonce();<a name="line.423"></a>
-<span class="sourceLineNo">424</span>  }<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span>  /**<a name="line.426"></a>
-<span class="sourceLineNo">427</span>   * Ends nonce operation for a mutation, if needed.<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * @param mutation Mutation.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.432"></a>
-<span class="sourceLineNo">433</span>      long nonceGroup, boolean success) {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<a name="line.435"></a>
+<span class="sourceLineNo">400</span>  private static ResultOrException getResultOrException(<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      final ClientProtos.Result r, final int index, final ClientProtos.RegionLoadStats stats) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>    return getResultOrException(ResponseConverter.buildActionResult(r, stats), index);<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.405"></a>
+<span class="sourceLineNo">406</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  }<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  private static ResultOrException getResultOrException(<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      final ResultOrException.Builder builder, final int index) {<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    return builder.setIndex(index).build();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>  }<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  /**<a name="line.414"></a>
+<span class="sourceLineNo">415</span>   * Starts the nonce operation for a mutation, if needed.<a name="line.415"></a>
+<span class="sourceLineNo">416</span>   * @param mutation Mutation.<a name="line.416"></a>
+<span class="sourceLineNo">417</span>   * @param nonceGroup Nonce group from the request.<a name="line.417"></a>
+<span class="sourceLineNo">418</span>   * @returns Nonce used (can be NO_NONCE).<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   */<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  private long startNonceOperation(final MutationProto mutation, long nonceGroup)<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      throws IOException, OperationConflictException {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;<a name="line.422"></a>
+<span class="sourceLineNo">423</span>    boolean canProceed = false;<a name="line.423"></a>
+<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
+<span class="sourceLineNo">425</span>      canProceed = regionServer.nonceManager.startOperation(<a name="line.425"></a>
+<span class="sourceLineNo">426</span>        nonceGroup, mutation.getNonce(), regionServer);<a name="line.426"></a>
+<span class="sourceLineNo">427</span>    } catch (InterruptedException ex) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span>      throw new InterruptedIOException("Nonce start operation interrupted");<a name="line.428"></a>
+<span class="sourceLineNo">429</span>    }<a name="line.429"></a>
+<span class="sourceLineNo">430</span>    if (!canProceed) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      // TODO: instead, we could convert append/increment to get w/mvcc<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        + "] may have already completed";<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      throw new OperationConflictException(message);<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><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  /**<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   * @return True if current call supports cellblocks<a name="line.440"></a>
-<span class="sourceLineNo">441</span>   */<a name="line.441"></a>
-<span class="sourceLineNo">442</span>  private boolean isClientCellBlockSupport() {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  }<a name="line.445"></a>
-<span class="sourceLineNo">446</span><a name="line.446"></a>
-<span class="sourceLineNo">447</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<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>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.451"></a>
-<span class="sourceLineNo">452</span>      final PayloadCarryingRpcController rpcc) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>    if (result == null) return;<a name="line.453"></a>
-<span class="sourceLineNo">454</span>    if (isClientCellBlockSupport()) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    } else {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>      builder.setResult(pbr);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>    }<a name="line.460"></a>
-<span class="sourceLineNo">461</span>  }<a name="line.461"></a>
-<span class="sourceLineNo">462</span><a name="line.462"></a>
-<span class="sourceLineNo">463</span>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.463"></a>
-<span class="sourceLineNo">464</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.464"></a>
-<span class="sourceLineNo">465</span>    builder.setStale(!isDefaultRegion);<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    if (results == null || results.isEmpty()) return;<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    if (clientCellBlockSupported) {<a name="line.467"></a>
-<span class="sourceLineNo">468</span>      for (Result res : results) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>        builder.addCellsPerResult(res.size());<a name="line.469"></a>
-<span class="sourceLineNo">470</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      }<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      ((PayloadCarryingRpcController)controller).<a name="line.472"></a>
-<span class="sourceLineNo">473</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    } else {<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      for (Result res: results) {<a name="line.475"></a>
-<span class="sourceLineNo">476</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        builder.addResults(pbr);<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><a name="line.481"></a>
-<span class="sourceLineNo">482</span>  /**<a name="line.482"></a>
-<span class="sourceLineNo">483</span>   * Mutate a list of rows atomically.<a name="line.483"></a>
-<span class="sourceLineNo">484</span>   *<a name="line.484"></a>
-<span class="sourceLineNo">485</span>   * @param region<a name="line.485"></a>
-<span class="sourceLineNo">486</span>   * @param actions<a name="line.486"></a>
-<span class="sourceLineNo">487</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.487"></a>
-<span class="sourceLineNo">488</span>   * @throws IOException<a name="line.488"></a>
-<span class="sourceLineNo">489</span>   */<a name="line.489"></a>
-<span class="sourceLineNo">490</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      final CellScanner cellScanner) throws IOException {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    RowMutations rm = null;<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    for (ClientProtos.Action action: actions) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      if (action.hasGet()) {<a name="line.498"></a>
-<span class="sourceLineNo">499</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.499"></a>
-<span class="sourceLineNo">500</span>          action.getGet());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>      }<a name="line.501"></a>
-<span class="sourceLineNo">502</span>      MutationType type = action.getMutation().getMutateType();<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      if (rm == null) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      }<a name="line.505"></a>
-<span class="sourceLineNo">506</span>      switch (type) {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>        case PUT:<a name="line.507"></a>
-<span class="sourceLineNo">508</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.508"></a>
-<span class="sourceLineNo">509</span>          break;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        case DELETE:<a name="line.510"></a>
-<span class="sourceLineNo">511</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.511"></a>
-<span class="sourceLineNo">512</span>          break;<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        default:<a name="line.513"></a>
-<span class="sourceLineNo">514</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.514"></a>
+<span class="sourceLineNo">437</span>    return mutation.getNonce();<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>   * Ends nonce operation for a mutation, if needed.<a name="line.441"></a>
+<span class="sourceLineNo">442</span>   * @param mutation Mutation.<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @param nonceGroup Nonce group from the request. Always 0 in initial implementation.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * @param success Whether the operation for this nonce has succeeded.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  private void endNonceOperation(final MutationProto mutation,<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      long nonceGroup, boolean success) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>    if (regionServer.nonceManager != null &amp;&amp; mutation.hasNonce()) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>      regionServer.nonceManager.endOperation(nonceGroup, mutation.getNonce(), success);<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><a name="line.452"></a>
+<span class="sourceLineNo">453</span>  /**<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * @return True if current call supports cellblocks<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  private boolean isClientCellBlockSupport() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    RpcCallContext context = RpcServer.getCurrentCall();<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  private boolean isClientCellBlockSupport(RpcCallContext context) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return context != null &amp;&amp; context.isClientCellBlockSupported();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>  private void addResult(final MutateResponse.Builder builder, final Result result,<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      final PayloadCarryingRpcController rpcc) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>    if (result == null) return;<a name="line.467"></a>
+<span class="sourceLineNo">468</span>    if (isClientCellBlockSupport()) {<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      builder.setResult(ProtobufUtil.toResultNoData(result));<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      rpcc.setCellScanner(result.cellScanner());<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } else {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      ClientProtos.Result pbr = ProtobufUtil.toResult(result);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>      builder.setResult(pbr);<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>  private void addResults(final ScanResponse.Builder builder, final List&lt;Result&gt; results,<a name="line.477"></a>
+<span class="sourceLineNo">478</span>      final RpcController controller, boolean isDefaultRegion, boolean clientCellBlockSupported) {<a name="line.478"></a>
+<span class="sourceLineNo">479</span>    builder.setStale(!isDefaultRegion);<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    if (results == null || results.isEmpty()) return;<a name="line.480"></a>
+<span class="sourceLineNo">481</span>    if (clientCellBlockSupported) {<a name="line.481"></a>
+<span class="sourceLineNo">482</span>      for (Result res : results) {<a name="line.482"></a>
+<span class="sourceLineNo">483</span>        builder.addCellsPerResult(res.size());<a name="line.483"></a>
+<span class="sourceLineNo">484</span>        builder.addPartialFlagPerResult(res.isPartial());<a name="line.484"></a>
+<span class="sourceLineNo">485</span>      }<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      ((PayloadCarryingRpcController)controller).<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        setCellScanner(CellUtil.createCellScanner(results));<a name="line.487"></a>
+<span class="sourceLineNo">488</span>    } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>      for (Result res: results) {<a name="line.489"></a>
+<span class="sourceLineNo">490</span>        ClientProtos.Result pbr = ProtobufUtil.toResult(res);<a name="line.490"></a>
+<span class="sourceLineNo">491</span>        builder.addResults(pbr);<a name="line.491"></a>
+<span class="sourceLineNo">492</span>      }<a name="line.492"></a>
+<span class="sourceLineNo">493</span>    }<a name="line.493"></a>
+<span class="sourceLineNo">494</span>  }<a name="line.494"></a>
+<span class="sourceLineNo">495</span><a name="line.495"></a>
+<span class="sourceLineNo">496</span>  /**<a name="line.496"></a>
+<span class="sourceLineNo">497</span>   * Mutate a list of rows atomically.<a name="line.497"></a>
+<span class="sourceLineNo">498</span>   *<a name="line.498"></a>
+<span class="sourceLineNo">499</span>   * @param region<a name="line.499"></a>
+<span class="sourceLineNo">500</span>   * @param actions<a name="line.500"></a>
+<span class="sourceLineNo">501</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.501"></a>
+<span class="sourceLineNo">502</span>   * @throws IOException<a name="line.502"></a>
+<span class="sourceLineNo">503</span>   */<a name="line.503"></a>
+<span class="sourceLineNo">504</span>  private ClientProtos.RegionLoadStats mutateRows(final Region region,<a name="line.504"></a>
+<span class="sourceLineNo">505</span>      final List&lt;ClientProtos.Action&gt; actions,<a name="line.505"></a>
+<span class="sourceLineNo">506</span>      final CellScanner cellScanner) throws IOException {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    }<a name="line.509"></a>
+<span class="sourceLineNo">510</span>    RowMutations rm = null;<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    for (ClientProtos.Action action: actions) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      if (action.hasGet()) {<a name="line.512"></a>
+<span class="sourceLineNo">513</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.513"></a>
+<span class="sourceLineNo">514</span>          action.getGet());<a name="line.514"></a>
 <span class="sourceLineNo">515</span>      }<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    }<a name="line.516"></a>
-<span class="sourceLineNo">517</span>    region.mutateRow(rm);<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    return ((HRegion)region).getRegionStats();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>  }<a name="line.519"></a>
-<span class="sourceLineNo">520</span><a name="line.520"></a>
-<span class="sourceLineNo">521</span>  /**<a name="line.521"></a>
-<span class="sourceLineNo">522</span>   * Mutate a list of rows atomically.<a name="line.522"></a>
-<span class="sourceLineNo">523</span>   *<a name="line.523"></a>
-<span class="sourceLineNo">524</span>   * @param region<a name="line.524"></a>
-<span class="sourceLineNo">525</span>   * @param actions<a name="line.525"></a>
-<span class="sourceLineNo">526</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.526"></a>
-<span class="sourceLineNo">527</span>   * @param row<a name="line.527"></a>
-<span class="sourceLineNo">528</span>   * @param family<a name="line.528"></a>
-<span class="sourceLineNo">529</span>   * @param qualifier<a name="line.529"></a>
-<span class="sourceLineNo">530</span>   * @param compareOp<a name="line.530"></a>
-<span class="sourceLineNo">531</span>   * @param comparator @throws IOException<a name="line.531"></a>
-<span class="sourceLineNo">532</span>   */<a name="line.532"></a>
-<span class="sourceLineNo">533</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    RowMutations rm = null;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    for (ClientProtos.Action action: actions) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (action.hasGet()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.542"></a>
-<span class="sourceLineNo">543</span>            action.getGet());<a name="line.543"></a>
-<span class="sourceLineNo">544</span>      }<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      MutationType type = action.getMutation().getMutateType();<a name="line.545"></a>
-<span class="sourceLineNo">546</span>      if (rm == null) {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.547"></a>
-<span class="sourceLineNo">548</span>      }<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      switch (type) {<a name="line.549"></a>
-<span class="sourceLineNo">550</span>        case PUT:<a name="line.550"></a>
-<span class="sourceLineNo">551</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.551"></a>
-<span class="sourceLineNo">552</span>          break;<a name="line.552"></a>
-<span class="sourceLineNo">553</span>        case DELETE:<a name="line.553"></a>
-<span class="sourceLineNo">554</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.554"></a>
-<span class="sourceLineNo">555</span>          break;<a name="line.555"></a>
-<span class="sourceLineNo">556</span>        default:<a name="line.556"></a>
-<span class="sourceLineNo">557</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<a name="line.557"></a>
+<span class="sourceLineNo">516</span>      MutationType type = action.getMutation().getMutateType();<a name="line.516"></a>
+<span class="sourceLineNo">517</span>      if (rm == null) {<a name="line.517"></a>
+<span class="sourceLineNo">518</span>        rm = new RowMutations(action.getMutation().getRow().toByteArray());<a name="line.518"></a>
+<span class="sourceLineNo">519</span>      }<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      switch (type) {<a name="line.520"></a>
+<span class="sourceLineNo">521</span>        case PUT:<a name="line.521"></a>
+<span class="sourceLineNo">522</span>          rm.add(ProtobufUtil.toPut(action.getMutation(), cellScanner));<a name="line.522"></a>
+<span class="sourceLineNo">523</span>          break;<a name="line.523"></a>
+<span class="sourceLineNo">524</span>        case DELETE:<a name="line.524"></a>
+<span class="sourceLineNo">525</span>          rm.add(ProtobufUtil.toDelete(action.getMutation(), cellScanner));<a name="line.525"></a>
+<span class="sourceLineNo">526</span>          break;<a name="line.526"></a>
+<span class="sourceLineNo">527</span>        default:<a name="line.527"></a>
+<span class="sourceLineNo">528</span>          throw new DoNotRetryIOException("Atomic put and/or delete only, not " + type.name());<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>    region.mutateRow(rm);<a name="line.531"></a>
+<span class="sourceLineNo">532</span>    return ((HRegion)region).getRegionStats();<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>  /**<a name="line.535"></a>
+<span class="sourceLineNo">536</span>   * Mutate a list of rows atomically.<a name="line.536"></a>
+<span class="sourceLineNo">537</span>   *<a name="line.537"></a>
+<span class="sourceLineNo">538</span>   * @param region<a name="line.538"></a>
+<span class="sourceLineNo">539</span>   * @param actions<a name="line.539"></a>
+<span class="sourceLineNo">540</span>   * @param cellScanner if non-null, the mutation data -- the Cell content.<a name="line.540"></a>
+<span class="sourceLineNo">541</span>   * @param row<a name="line.541"></a>
+<span class="sourceLineNo">542</span>   * @param family<a name="line.542"></a>
+<span class="sourceLineNo">543</span>   * @param qualifier<a name="line.543"></a>
+<span class="sourceLineNo">544</span>   * @param compareOp<a name="line.544"></a>
+<span class="sourceLineNo">545</span>   * @param comparator @throws IOException<a name="line.545"></a>
+<span class="sourceLineNo">546</span>   */<a name="line.546"></a>
+<span class="sourceLineNo">547</span>  private boolean checkAndRowMutate(final Region region, final List&lt;ClientProtos.Action&gt; actions,<a name="line.547"></a>
+<span class="sourceLineNo">548</span>      final CellScanner cellScanner, byte[] row, byte[] family, byte[] qualifier,<a name="line.548"></a>
+<span class="sourceLineNo">549</span>      CompareOp compareOp, ByteArrayComparable comparator) throws IOException {<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    if (!region.getRegionInfo().isMetaTable()) {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      regionServer.cacheFlusher.reclaimMemStoreMemory();<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>    RowMutations rm = null;<a name="line.553"></a>
+<span class="sourceLineNo">554</span>    for (ClientProtos.Action action: actions) {<a name="line.554"></a>
+<span class="sourceLineNo">555</span>      if (action.hasGet()) {<a name="line.555"></a>
+<span class="sourceLineNo">556</span>        throw new DoNotRetryIOException("Atomic put and/or delete only, not a Get=" +<a name="line.556"></a>
+<span class="sourceLineNo">557</span>            action.getGet());<a name="line.557"></a>
 <span class="sourceLineNo">558</span>      }<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    }<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    return region.checkAndRowMutate(row, family, qualifier, compareOp, comparator, rm, Boolean.TRUE);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>  }<a name="line.561"></a>
-<span class="sourceLineNo">562</span><a name="line.562"></a>
-<span class="sourceLineNo">563</span>  /**<a name="line.563"></a>
-<span class="sourceLineNo">564</span>   * Execute an append mutation.<a name="line.564"></a>
-<span class="sourceLineNo">565</span>   *<a name="line.565"></a>
-<span class="sourceLineNo">566</span>   * @param region<a name="line.566"></a>
-<span class="sourceLineNo">567</span>   * @param m<a name="line.567"></a>
-<span class="sourceLineNo">568</span>   * @param cellScanner<a name="line.568"></a>
-<span class="sourceLineNo">569</span>   * @return result to return to client if default operation should be<a name="line.569"></a>
-<span class="sourceLineNo">570</span>   * bypassed as indicated by RegionObserver, null otherwise<a name="line.570"></a>
-<span class="sourceLineNo">571</span>   * @throws IOException<a name="line.571"></a>
-<span class="sourceLineNo">572</span>   */<a name="line.572"></a>
-<span class="sourceLineNo">573</span>  private Result append(final Region region, final OperationQuota quota, final MutationProto m,<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      final CellScanner cellScanner, long nonceGroup) throws IOException {<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    long before = EnvironmentEdgeManager.currentTime();<a name="line.575"></a>
-<span class="sourceLineNo">576</span>    Append append = ProtobufUtil.toAppend(m, cellScanner);<a name="line.576"></a>
-<span class="sourceLineNo">577</span>    quota.addMutation(append);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>    Result r = null;<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    if (region.getCoprocessorHost() != null) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span>      r = region.getCoprocessorHost().preAppend(append);<a name="line.580"></a>
-<span class="sourceLineNo">581</span>    }<a name="line.581"></a>
-<span class="sourceLineNo">582</span>    if (r == null) {<a name="line.582"></a>
-<span class="sourceLineNo">583</span>      long nonce = startNonceOperation(m, nonceGroup);<a name="line.583"></a>
-<span class="sourceLineNo">584</span>      boolean success = false;<a name="line.584"></a>
-<span class="sourceLineNo">585</span>      try {<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        r = region.append(append, nonceGroup, nonce);<a name="line.586"></a>
-<span class="sourceLineNo">587</span>        success = true;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>      } finally {<a name="line.588"></a>
-<span class="sourceLineNo">589</span>        endNonceOperation(m, nonceGroup, success);<a name="line.589"></a>
-<span class="sourceLineNo">590</span>      }<a name="line.590"></a>
-<span class="sourceLineNo">591</span>      if (region.getCoprocessorHost() != null) {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>        region.getCoprocessorHost().postAppend(append, r);<a name="l

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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
index 658fe8f..d266952 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperationInProgress.html
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name=

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 8e6a965..b1a89aa 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -965,11 +965,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 </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,%20int)">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,
-                                      int&nbsp;cellCount)</code>&nbsp;</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>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
+<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>
 </tr>
 <tr class="rowColor">
@@ -2842,7 +2841,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <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/HRegion.html#line.7608">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7601">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -2851,7 +2850,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7625">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7618">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="MOCKED_LIST">
@@ -2860,7 +2859,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MOCKED_LIST</h4>
-<pre>private 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="../../../../../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/HRegion.html#line.8077">MOCKED_LIST</a></pre>
+<pre>private 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="../../../../../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/HRegion.html#line.8070">MOCKED_LIST</a></pre>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </li>
 </ul>
@@ -4325,20 +4324,19 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doPreMutationHook</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2941">doPreMutationHook</a>(<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)
-                       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&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2940">doPreMutationHook</a>(<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)
+                        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="doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress, int)">
+<a name="doMiniBatchMutation(org.apache.hadoop.hbase.regionserver.HRegion.BatchOperationInProgress)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>doMiniBatchMutation</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2984">doMiniBatchMutation</a>(<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,
-                       int&nbsp;cellCount)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2980">doMiniBatchMutation</a>(<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)
                           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>
@@ -4350,7 +4348,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getEffectiveDurability</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3383">getEffectiveDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3376">getEffectiveDurability</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;d)</pre>
 <div class="block">Returns effective durability from the passed durability and
  the table descriptor.</div>
 </li>
@@ -4361,7 +4359,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3393">checkAndMutate</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3386">checkAndMutate</a>(byte[]&nbsp;row,
                      byte[]&nbsp;family,
                      byte[]&nbsp;qualifier,
                      <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -4389,7 +4387,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3511">checkAndRowMutate</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3504">checkAndRowMutate</a>(byte[]&nbsp;row,
                         byte[]&nbsp;family,
                         byte[]&nbsp;qualifier,
                         <a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter">CompareFilter.CompareOp</a>&nbsp;compareOp,
@@ -4417,7 +4415,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doBatchMutate</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3603">doBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3596">doBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
                     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>
@@ -4429,7 +4427,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>addRegionToSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3626">addRegionToSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;desc,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3619">addRegionToSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;desc,
                        <a href="../../../../../org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html" title="interface in org.apache.hadoop.hbase.errorhandling">ForeignExceptionSnare</a>&nbsp;exnSnare)
                          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">Complete taking the snapshot on the region. Writes the region info and adds references to the
@@ -4450,7 +4448,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCellTimestamps</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3655">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;cellItr,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3648">updateCellTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;cellItr,
                         byte[]&nbsp;now)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#updateCellTimestamps(java.lang.Iterable,%20byte[])">Region</a></code></strong></div>
@@ -4469,7 +4467,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteCellTags</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3670">rewriteCellTags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3663">rewriteCellTags</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                    <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)</pre>
 <div class="block">Possibly rewrite incoming cell tags.</div>
 </li>
@@ -4480,7 +4478,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkResources</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3719">checkResources</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3712">checkResources</a>()
                      throws <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a></code></dd></dl>
@@ -4492,7 +4490,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReadOnly</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3739">checkReadOnly</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3732">checkReadOnly</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> - Throws exception if region is in read-only mode.</dd></dl>
@@ -4504,7 +4502,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReadsEnabled</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3745">checkReadsEnabled</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3738">checkReadsEnabled</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>
@@ -4516,7 +4514,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setReadsEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3752">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3745">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 <a name="put(byte[], byte[], java.util.List)">
@@ -4525,7 +4523,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3765">put</a>(byte[]&nbsp;row,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3758">put</a>(byte[]&nbsp;row,
        byte[]&nbsp;family,
        <a href="http://docs.oracle.com/javase/7/docs/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;edits)
           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>
@@ -4542,7 +4540,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>applyFamilyMapToMemstore</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3788">applyFamilyMapToMemstore</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3781">applyFamilyMapToMemstore</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                             long&nbsp;mvccNum,
                             boolean&nbsp;isInReplay)
                                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>
@@ -4563,7 +4561,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>rollbackMemstore</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3815">rollbackMemstore</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;memstoreCells)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3808">rollbackMemstore</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;memstoreCells)</pre>
 <div class="block">Remove all the keys listed in the map from the memstore. This method is
  called when a Put/Delete has updated memstore but subsequently fails to update
  the wal. This method is then invoked to rollback the memstore.</div>
@@ -4575,7 +4573,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamilies</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3828">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3821">checkFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families)
                    throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkFamilies(java.util.Collection)">Region</a></code></strong></div>
 <div class="block">Check the collection of families for validity.</div>
@@ -4592,7 +4590,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>removeNonExistentColumnFamilyForReplay</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3838">removeNonExistentColumnFamilyForReplay</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3831">removeNonExistentColumnFamilyForReplay</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap)</pre>
 <div class="block">During replay, there could exist column families which are removed between region server
  failure and replay</div>
 </li>
@@ -4603,7 +4601,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTimestamps</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3859">checkTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3852">checkTimestamps</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                    long&nbsp;now)
                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions">FailedSanityCheckException</a></pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#checkTimestamps(java.util.Map,%20long)">Region</a></code></strong></div>
@@ -4622,7 +4620,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>addFamilyMapToWALEdit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3886">addFamilyMapToWALEdit</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3879">addFamilyMapToWALEdit</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                          <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;walEdit)</pre>
 <div class="block">Append the given map of family->edits to a WALEdit data structure.
  This does not write to the WAL itself.</div>
@@ -4635,7 +4633,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>requestFlush</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3898">requestFlush</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3891">requestFlush</a>()</pre>
 </li>
 </ul>
 <a name="isFlushSize(long)">
@@ -4644,7 +4642,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSize</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3919">isFlushSize</a>(long&nbsp;size)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3912">isFlushSize</a>(long&nbsp;size)</pre>
 </li>
 </ul>
 <a name="replayRecoveredEditsIfAny(org.apache.hadoop.fs.Path, java.util.Map, org.apache.hadoop.hbase.util.CancelableProgressable, org.apache.hadoop.hbase.monitoring.MonitoredTask)">
@@ -4653,7 +4651,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayRecoveredEditsIfAny</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3956">replayRecoveredEditsIfAny</a>(org.apache.hadoop.fs.Path&nbsp;regiondir,
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3949">replayRecoveredEditsIfAny</a>(org.apache.hadoop.fs.Path&nbsp;regiondir,
                              <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;maxSeqIdInStores,
                              <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
                              <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
@@ -4697,7 +4695,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayRecoveredEdits</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4064">replayRecoveredEdits</a>(org.apache.hadoop.fs.Path&nbsp;edits,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4057">replayRecoveredEdits</a>(org.apache.hadoop.fs.Path&nbsp;edits,
                         <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;maxSeqIdInStores,
                         <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                            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>
@@ -4711,7 +4709,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALCompactionMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4257">replayWALCompactionMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4250">replayWALCompactionMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
                              boolean&nbsp;pickCompactionFiles,
                              boolean&nbsp;removeFiles,
                              long&nbsp;replaySeqId)
@@ -4729,7 +4727,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALFlushMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4318">replayWALFlushMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4311">replayWALFlushMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                         long&nbsp;replaySeqId)
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4742,7 +4740,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALFlushStartMarker</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4365">replayWALFlushStartMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4358">replayWALFlushStartMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
                                                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Replay the flush marker from primary region by creating a corresponding snapshot of
  the store memstores, only if the memstores do not have a higher seqId from an earlier wal
@@ -4757,7 +4755,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALFlushCommitMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4478">replayWALFlushCommitMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4471">replayWALFlushCommitMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
                           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>
@@ -4769,7 +4767,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayFlushInStores</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4603">replayFlushInStores</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4596">replayFlushInStores</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;prepareFlushResult,
                        boolean&nbsp;dropMemstoreSnapshot)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -4786,7 +4784,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>dropMemstoreContentsForSeqId</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4644">dropMemstoreContentsForSeqId</a>(long&nbsp;seqId,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4637">dropMemstoreContentsForSeqId</a>(long&nbsp;seqId,
                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;store)
                                    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">Drops the memstore contents after replaying a flush descriptor or region open event replay
@@ -4801,7 +4799,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doDropStoreMemstoreContentsForSeqId</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4675">doDropStoreMemstoreContentsForSeqId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4668">doDropStoreMemstoreContentsForSeqId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
                                        long&nbsp;currentSeqId)
                                           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>
@@ -4814,7 +4812,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALFlushAbortMarker</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4684">replayWALFlushAbortMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4677">replayWALFlushAbortMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</pre>
 </li>
 </ul>
 <a name="replayWALFlushCannotFlushMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor, long)">
@@ -4823,7 +4821,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALFlushCannotFlushMarker</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4690">replayWALFlushCannotFlushMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4683">replayWALFlushCannotFlushMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                    long&nbsp;replaySeqId)</pre>
 </li>
 </ul>
@@ -4833,7 +4831,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getPrepareFlushResult</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4710">getPrepareFlushResult</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4703">getPrepareFlushResult</a>()</pre>
 </li>
 </ul>
 <a name="replayWALRegionEventMarker(org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor)">
@@ -4842,7 +4840,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALRegionEventMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4716">replayWALRegionEventMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4709">replayWALRegionEventMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)
                           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>
@@ -4854,7 +4852,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALBulkLoadEventMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4832">replayWALBulkLoadEventMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4825">replayWALBulkLoadEventMarker</a>(org.apache.hadoop.hbase.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)
                             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>
@@ -4866,7 +4864,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>dropPrepareFlushIfPossible</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4915">dropPrepareFlushIfPossible</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4908">dropPrepareFlushIfPossible</a>()</pre>
 <div class="block">If all stores ended up dropping their snapshots, we can safely drop the prepareFlushResult</div>
 </li>
 </ul>
@@ -4876,7 +4874,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>refreshStoreFiles</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4942">refreshStoreFiles</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4935">refreshStoreFiles</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/Region.html#refreshStoreFiles()">Region</a></code></strong></div>
 <div class="block">Check the region's underlying store files, open the files that have not
@@ -4895,7 +4893,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>refreshStoreFiles</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4948">refreshStoreFiles</a>(boolean&nbsp;force)
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4941">refreshStoreFiles</a>(boolean&nbsp;force)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <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>
@@ -4907,7 +4905,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>logRegionFiles</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5031">logRegionFiles</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5024">logRegionFiles</a>()</pre>
 </li>
 </ul>
 <a name="checkTargetRegion(byte[], java.lang.String, java.lang.Object)">
@@ -4916,7 +4914,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkTargetRegion</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5047">checkTargetRegion</a>(byte[]&nbsp;encodedRegionName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5040">checkTargetRegion</a>(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,
                      <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;payload)
                         throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/WrongRegionException.html" title="class in org.apache.hadoop.hbase.regionserver">WrongRegionException</a></pre>
@@ -4932,7 +4930,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreEdit</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5070">restoreEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;s,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5063">restoreEdit</a>(<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)</pre>
 <div class="block">Used by tests</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>s</code> - Store to add edit too.</dd><dd><code>cell</code> - Cell to add.</dd>
@@ -4945,7 +4943,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isZeroLengthThenDelete</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5084">isZeroLengthThenDelete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5077">isZeroLengthThenDelete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                              org.apache.hadoop.fs.Path&nbsp;p)
                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -4958,7 +4956,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>instantiateHStore</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5093">instantiateHStore</a>(<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5086">instantiateHStore</a>(<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a>&nbsp;family)
                             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>
@@ -4970,7 +4968,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5107">getStore</a>(byte[]&nbsp;column)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5100">getStore</a>(byte[]&nbsp;column)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStore(byte[])">Region</a></code></strong></div>
 <div class="block">Return the Store for the given family
  <p>Use with caution.  Exposed for use of fixup utilities.</div>
@@ -4986,7 +4984,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStore</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5115">getStore</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5108">getStore</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Return HStore instance. Does not do any copy: as the number of store is limited, we
   iterate on the list.</div>
 </li>
@@ -4997,7 +4995,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStores</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/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5128">getStores</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="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5121">getStores</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStores()">Region</a></code></strong></div>
 <div class="block">Return the list of Stores managed by this region
  <p>Use with caution.  Exposed for use of fixup utilities.</div>
@@ -5013,7 +5011,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileList</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5135">getStoreFileList</a>(byte[][]&nbsp;columns)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5128">getStoreFileList</a>(byte[][]&nbsp;columns)
                               throws <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></pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -5029,7 +5027,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRow</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5162">checkRow</a>(byte[]&nbsp;row,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5155">checkRow</a>(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)
         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">Make sure this is a valid row for the HRegion</div>
@@ -5043,7 +5041,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5179">getRowLock</a>(byte[]&nbsp;row)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5172">getRowLock</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">Get an exclusive ( write lock ) lock on a given row.</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>row</code> - Which row to lock.</dd>
@@ -5058,7 +5056,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5194">getRowLock</a>(byte[]&nbsp;row,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5187">getRowLock</a>(byte[]&nbsp;row,
                         boolean&nbsp;readLock)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get a row lock for the specified row. All locks are reentrant.
@@ -5082,7 +5080,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseRowLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5261">releaseRowLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5254">releaseRowLocks</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#releaseRowLocks(java.util.List)">Region</a></code></strong></div>
 <div class="block">If the given list of row locks is not null, releases all locks.</div>
 <dl>
@@ -5097,7 +5095,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>hasMultipleColumnFamilies</h4>
-<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5367">hasMultipleColumnFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths)</pre>
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5360">hasMultipleColumnFamilies</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths)</pre>
 <div class="block">Determines whether multiple column families are present
  Precondition: familyPaths is not null</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>familyPaths</code> - List of (column family, hfilePath)</dd></dl>
@@ -5109,7 +5107,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadHFiles</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5383">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5376">bulkLoadHFiles</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;byte[],<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;familyPaths,
                      boolean&nbsp;assignSeqId,
                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.BulkLoadListener.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.BulkLoadListener</a>&nbsp;bulkLoadListener)
                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5132,7 +5130,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5521">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;o)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5514">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;o)</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>
@@ -5145,7 +5143,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>hashCode</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5527">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5520">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>
@@ -5158,7 +5156,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <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.html#line.5532">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.html#line.5525">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>
@@ -5171,7 +5169,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>newHRegion</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6217">newHRegion</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6210">newHRegion</a>(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,
                  org.apache.hadoop.fs.FileSystem&nbsp;fs,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
@@ -5197,7 +5195,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>createHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6247">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6240">createHRegion</a>(<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,
                     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;hTableDescriptor,
@@ -5217,7 +5215,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>createHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6262">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6255">createHRegion</a>(<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,
                     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;hTableDescriptor,
@@ -5233,7 +5231,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6282">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6275">openHRegion</a>(<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,
                   <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                   org.apache.hadoop.conf.Configuration&nbsp;conf)
@@ -5254,7 +5252,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6304">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6297">openHRegion</a>(<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,
                   <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                   org.apache.hadoop.conf.Configuration&nbsp;conf,
@@ -5277,7 +5275,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6325">openHRegion</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6318">openHRegion</a>(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,
                   <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/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -5299,7 +5297,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6346">openHRegion</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6339">openHRegion</a>(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,
                   <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/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -5323,7 +5321,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6375">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6368">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                   org.apache.hadoop.fs.FileSystem&nbsp;fs,
                   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,
@@ -5346,7 +5344,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6397">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6390">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                   org.apache.hadoop.fs.FileSystem&nbsp;fs,
                   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,
@@ -5371,7 +5369,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6421">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6414">openHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                   org.apache.hadoop.fs.FileSystem&nbsp;fs,
                   org.apache.hadoop.fs.Path&nbsp;rootDir,
                   org.apache.hadoop.fs.Path&nbsp;tableDir,
@@ -5397,7 +5395,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6442">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;other,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6435">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;other,
                   <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                            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">Useful when reopening a closed region (normally for unit tests)</div>
@@ -5413,7 +5411,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6450">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;other,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6443">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;other,
                  <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                           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>
@@ -5426,7 +5424,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6461">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6454">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
                        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">Open HRegion.
  Calls initialize and sets sequenceId.</div>
@@ -5441,7 +5439,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>warmupHRegion</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6482">warmupHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6475">warmupHRegion</a>(<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,
                  <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
@@ -5458,7 +5456,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCompressionCodecs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6511">checkCompressionCodecs</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6504">checkCompressionCodecs</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>
@@ -5470,7 +5468,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkEncryption</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6518">checkEncryption</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6511">checkEncryption</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>
@@ -5482,7 +5480,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkClassLoading</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6524">checkClassLoading</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6517">checkClassLoading</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>
@@ -5494,7 +5492,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>createDaughterRegionFromSplits</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6534">createDaughterRegi

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
new file mode 100644
index 0000000..76191fd
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html
@@ -0,0 +1,328 @@
+<!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>PerformanceEvaluation.CheckAndDeleteTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.CheckAndDeleteTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.CheckAndDeleteTest.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/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndDeleteTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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</div>
+<h2 title="Class PerformanceEvaluation.CheckAndDeleteTest" class="title">Class PerformanceEvaluation.CheckAndDeleteTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.CheckAndDeleteTest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1578">PerformanceEvaluation.CheckAndDeleteTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#PerformanceEvaluation.CheckAndDeleteTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndDeleteTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#testRow(int)">testRow</a></strong>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PerformanceEvaluation.CheckAndDeleteTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.CheckAndDeleteTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.1579">PerformanceEvaluation.CheckAndDeleteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                        <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                        <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRow(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRow</h4>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html#line.1584">testRow</a>(int&nbsp;i)
+       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>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</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/PerformanceEvaluation.CheckAndDeleteTest.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/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndDeleteTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndDeleteTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
new file mode 100644
index 0000000..1040cf0
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html
@@ -0,0 +1,328 @@
+<!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>PerformanceEvaluation.CheckAndMutateTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.CheckAndMutateTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.CheckAndMutateTest.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/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndMutateTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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</div>
+<h2 title="Class PerformanceEvaluation.CheckAndMutateTest" class="title">Class PerformanceEvaluation.CheckAndMutateTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.CheckAndMutateTest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1543">PerformanceEvaluation.CheckAndMutateTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#PerformanceEvaluation.CheckAndMutateTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndMutateTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#testRow(int)">testRow</a></strong>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PerformanceEvaluation.CheckAndMutateTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.CheckAndMutateTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.1544">PerformanceEvaluation.CheckAndMutateTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                        <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                        <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRow(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRow</h4>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html#line.1549">testRow</a>(int&nbsp;i)
+       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>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</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/PerformanceEvaluation.CheckAndMutateTest.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/PerformanceEvaluation.CheckAndDeleteTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndMutateTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndMutateTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
new file mode 100644
index 0000000..73fa779
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html
@@ -0,0 +1,328 @@
+<!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>PerformanceEvaluation.CheckAndPutTest (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="PerformanceEvaluation.CheckAndPutTest (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PerformanceEvaluation.CheckAndPutTest.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/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndPutTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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</div>
+<h2 title="Class PerformanceEvaluation.CheckAndPutTest" class="title">Class PerformanceEvaluation.CheckAndPutTest</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.Test</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.TableTest</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.PerformanceEvaluation.CheckAndPutTest</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation</a></dd>
+</dl>
+<hr>
+<br>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1562">PerformanceEvaluation.CheckAndPutTest</a>
+extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#table">table</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#conf">conf</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#connection">connection</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#opts">opts</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#rand">rand</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#PerformanceEvaluation.CheckAndPutTest(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions,%20org.apache.hadoop.hbase.PerformanceEvaluation.Status)">PerformanceEvaluation.CheckAndPutTest</a></strong>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</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>(package private) void</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#testRow(int)">testRow</a></strong>(int&nbsp;i)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.CASTableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getQualifier()">getQualifier</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html#getStartRow()">getStartRow</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onStartup()">onStartup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#onTakedown()">onTakedown</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.Test">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</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#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang
 /Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PerformanceEvaluation.CheckAndPutTest(org.apache.hadoop.hbase.client.Connection, org.apache.hadoop.hbase.PerformanceEvaluation.TestOptions, org.apache.hadoop.hbase.PerformanceEvaluation.Status)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PerformanceEvaluation.CheckAndPutTest</h4>
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.1563">PerformanceEvaluation.CheckAndPutTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+                                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
+                                     <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="testRow(int)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>testRow</h4>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html#line.1568">testRow</a>(int&nbsp;i)
+       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>
+<dd><code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
+</li>
+</ul>
+</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/PerformanceEvaluation.CheckAndPutTest.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/PerformanceEvaluation.CheckAndMutateTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html" title="class in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" target="_top">Frames</a></li>
+<li><a href="PerformanceEvaluation.CheckAndPutTest.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="#fields_inherited_from_class_org.apache.hadoop.hbase.PerformanceEvaluation.TableTest">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#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/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
index b52ec55..9139941 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.549">PerformanceEvaluation.CmdDescriptor</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.564">PerformanceEvaluation.CmdDescriptor</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">Describes a command.</div>
 </li>
@@ -206,7 +206,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cmdClass</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.550">cmdClass</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.565">cmdClass</a></pre>
 </li>
 </ul>
 <a name="name">
@@ -215,7 +215,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>name</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/PerformanceEvaluation.CmdDescriptor.html#line.551">name</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.566">name</a></pre>
 </li>
 </ul>
 <a name="description">
@@ -224,7 +224,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>description</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/PerformanceEvaluation.CmdDescriptor.html#line.552">description</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.567">description</a></pre>
 </li>
 </ul>
 </li>
@@ -241,7 +241,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.CmdDescriptor</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.554">PerformanceEvaluation.CmdDescriptor</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt;&nbsp;cmdClass,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.569">PerformanceEvaluation.CmdDescriptor</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt;&nbsp;cmdClass,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;description)</pre>
 </li>
@@ -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>getCmdClass</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.560">getCmdClass</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.575">getCmdClass</a>()</pre>
 </li>
 </ul>
 <a name="getName()">
@@ -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>getName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.564">getName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.CmdDescriptor.html#line.579">getName</a>()</pre>
 </li>
 </ul>
 <a name="getDescription()">
@@ -278,7 +278,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getDescription</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/PerformanceEvaluation.CmdDescriptor.html#line.568">getDescription</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/PerformanceEvaluation.CmdDescriptor.html#line.583">getDescription</a>()</pre>
 </li>
 </ul>
 </li>
@@ -307,7 +307,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CheckAndPutTest.html" title="class in org.apache.hadoop.hbase"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
index 822a2e8..944d611 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static enum <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.175">PerformanceEvaluation.Counter</a>
+<pre>protected static enum <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.190">PerformanceEvaluation.Counter</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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&gt;</pre>
 <div class="block">Enum for map metrics.  Keep it out here rather than inside in the Map
  inner-class so we can find associated properties.</div>
@@ -202,7 +202,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>ELAPSED_TIME</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.177">ELAPSED_TIME</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.192">ELAPSED_TIME</a></pre>
 <div class="block">elapsed time</div>
 </li>
 </ul>
@@ -212,7 +212,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ROWS</h4>
-<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.179">ROWS</a></pre>
+<pre>public static final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.194">ROWS</a></pre>
 <div class="block">number of rows</div>
 </li>
 </ul>
@@ -230,7 +230,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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.175">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.190">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:
@@ -247,7 +247,7 @@ for (PerformanceEvaluation.Counter c : PerformanceEvaluation.Counter.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.175">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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase">PerformanceEvaluation.Counter</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html#line.190">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 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
index 28ff7b0..fddd202 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html
@@ -104,7 +104,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.230">PerformanceEvaluation.EvaluationMapTask</a>
+<pre>public static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.245">PerformanceEvaluation.EvaluationMapTask</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text,org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.LongWritable&gt;</pre>
 <div class="block">MapReduce job that runs a performance evaluation client in each map task.</div>
 </li>
@@ -238,7 +238,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.234">CMD_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.249">CMD_KEY</a></pre>
 <div class="block">configuration parameter name that contains the command</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.EvaluationMapTask.CMD_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -249,7 +249,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>PE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.236">PE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.251">PE_KEY</a></pre>
 <div class="block">configuration parameter name that contains the PE impl</div>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.PerformanceEvaluation.EvaluationMapTask.PE_KEY">Constant Field Values</a></dd></dl>
 </li>
@@ -260,7 +260,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cmd</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.238">cmd</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.253">cmd</a></pre>
 </li>
 </ul>
 </li>
@@ -277,7 +277,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.EvaluationMapTask</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.230">PerformanceEvaluation.EvaluationMapTask</a>()</pre>
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.245">PerformanceEvaluation.EvaluationMapTask</a>()</pre>
 </li>
 </ul>
 </li>
@@ -294,7 +294,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>setup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.241">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.256">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -311,7 +311,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockList">
 <li class="blockList">
 <h4>forName</h4>
-<pre>private&nbsp;&lt;Type&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends Type&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.255">forName</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;className,
+<pre>private&nbsp;&lt;Type&gt;&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends Type&gt;&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.270">forName</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;className,
                                    <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;Type&gt;&nbsp;type)</pre>
 </li>
 </ul>
@@ -321,7 +321,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;org.apache.hadoop.io.LongWritable,
 <ul class="blockListLast">
 <li class="blockList">
 <h4>map</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.264">map</a>(org.apache.hadoop.io.LongWritable&nbsp;key,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.EvaluationMapTask.html#line.279">map</a>(org.apache.hadoop.io.LongWritable&nbsp;key,
        org.apache.hadoop.io.Text&nbsp;value,
        org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 658fe8f..d266952 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
@@ -2914,5347 +2914,5340 @@
 <span class="sourceLineNo">2906</span>   *         OperationStatusCode and the exceptionMessage if any.<a name="line.2906"></a>
 <span class="sourceLineNo">2907</span>   * @throws IOException<a name="line.2907"></a>
 <span class="sourceLineNo">2908</span>   */<a name="line.2908"></a>
-<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2909"></a>
-<span class="sourceLineNo">2910</span>      throws IOException {<a name="line.2910"></a>
-<span class="sourceLineNo">2911</span>    boolean initialized = false;<a name="line.2911"></a>
-<span class="sourceLineNo">2912</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2912"></a>
-<span class="sourceLineNo">2913</span>    startRegionOperation(op);<a name="line.2913"></a>
-<span class="sourceLineNo">2914</span>    int cellCountFromCP = 0;<a name="line.2914"></a>
-<span class="sourceLineNo">2915</span>    try {<a name="line.2915"></a>
-<span class="sourceLineNo">2916</span>      while (!batchOp.isDone()) {<a name="line.2916"></a>
-<span class="sourceLineNo">2917</span>        if (!batchOp.isInReplay()) {<a name="line.2917"></a>
-<span class="sourceLineNo">2918</span>          checkReadOnly();<a name="line.2918"></a>
-<span class="sourceLineNo">2919</span>        }<a name="line.2919"></a>
-<span class="sourceLineNo">2920</span>        checkResources();<a name="line.2920"></a>
-<span class="sourceLineNo">2921</span>        if (!initialized) {<a name="line.2921"></a>
-<span class="sourceLineNo">2922</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2922"></a>
-<span class="sourceLineNo">2923</span>          if (!batchOp.isInReplay()) {<a name="line.2923"></a>
-<span class="sourceLineNo">2924</span>            cellCountFromCP = doPreMutationHook(batchOp);<a name="line.2924"></a>
-<span class="sourceLineNo">2925</span>          }<a name="line.2925"></a>
-<span class="sourceLineNo">2926</span>          initialized = true;<a name="line.2926"></a>
-<span class="sourceLineNo">2927</span>        }<a name="line.2927"></a>
-<span class="sourceLineNo">2928</span>        long addedSize = doMiniBatchMutation(batchOp, cellCountFromCP);<a name="line.2928"></a>
-<span class="sourceLineNo">2929</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2929"></a>
-<span class="sourceLineNo">2930</span>        if (isFlushSize(newSize)) {<a name="line.2930"></a>
-<span class="sourceLineNo">2931</span>          requestFlush();<a name="line.2931"></a>
-<span class="sourceLineNo">2932</span>        }<a name="line.2932"></a>
-<span class="sourceLineNo">2933</span>      }<a name="line.2933"></a>
-<span class="sourceLineNo">2934</span>    } finally {<a name="line.2934"></a>
-<span class="sourceLineNo">2935</span>      closeRegionOperation(op);<a name="line.2935"></a>
-<span class="sourceLineNo">2936</span>    }<a name="line.2936"></a>
-<span class="sourceLineNo">2937</span>    return batchOp.retCodeDetails;<a name="line.2937"></a>
-<span class="sourceLineNo">2938</span>  }<a name="line.2938"></a>
+<span class="sourceLineNo">2909</span>  OperationStatus[] batchMutate(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2909"></a>
+<span class="sourceLineNo">2910</span>    boolean initialized = false;<a name="line.2910"></a>
+<span class="sourceLineNo">2911</span>    Operation op = batchOp.isInReplay() ? Operation.REPLAY_BATCH_MUTATE : Operation.BATCH_MUTATE;<a name="line.2911"></a>
+<span class="sourceLineNo">2912</span>    startRegionOperation(op);<a name="line.2912"></a>
+<span class="sourceLineNo">2913</span>    try {<a name="line.2913"></a>
+<span class="sourceLineNo">2914</span>      while (!batchOp.isDone()) {<a name="line.2914"></a>
+<span class="sourceLineNo">2915</span>        if (!batchOp.isInReplay()) {<a name="line.2915"></a>
+<span class="sourceLineNo">2916</span>          checkReadOnly();<a name="line.2916"></a>
+<span class="sourceLineNo">2917</span>        }<a name="line.2917"></a>
+<span class="sourceLineNo">2918</span>        checkResources();<a name="line.2918"></a>
+<span class="sourceLineNo">2919</span><a name="line.2919"></a>
+<span class="sourceLineNo">2920</span>        if (!initialized) {<a name="line.2920"></a>
+<span class="sourceLineNo">2921</span>          this.writeRequestsCount.add(batchOp.operations.length);<a name="line.2921"></a>
+<span class="sourceLineNo">2922</span>          if (!batchOp.isInReplay()) {<a name="line.2922"></a>
+<span class="sourceLineNo">2923</span>            doPreMutationHook(batchOp);<a name="line.2923"></a>
+<span class="sourceLineNo">2924</span>          }<a name="line.2924"></a>
+<span class="sourceLineNo">2925</span>          initialized = true;<a name="line.2925"></a>
+<span class="sourceLineNo">2926</span>        }<a name="line.2926"></a>
+<span class="sourceLineNo">2927</span>        long addedSize = doMiniBatchMutation(batchOp);<a name="line.2927"></a>
+<span class="sourceLineNo">2928</span>        long newSize = this.addAndGetGlobalMemstoreSize(addedSize);<a name="line.2928"></a>
+<span class="sourceLineNo">2929</span>        if (isFlushSize(newSize)) {<a name="line.2929"></a>
+<span class="sourceLineNo">2930</span>          requestFlush();<a name="line.2930"></a>
+<span class="sourceLineNo">2931</span>        }<a name="line.2931"></a>
+<span class="sourceLineNo">2932</span>      }<a name="line.2932"></a>
+<span class="sourceLineNo">2933</span>    } finally {<a name="line.2933"></a>
+<span class="sourceLineNo">2934</span>      closeRegionOperation(op);<a name="line.2934"></a>
+<span class="sourceLineNo">2935</span>    }<a name="line.2935"></a>
+<span class="sourceLineNo">2936</span>    return batchOp.retCodeDetails;<a name="line.2936"></a>
+<span class="sourceLineNo">2937</span>  }<a name="line.2937"></a>
+<span class="sourceLineNo">2938</span><a name="line.2938"></a>
 <span class="sourceLineNo">2939</span><a name="line.2939"></a>
-<span class="sourceLineNo">2940</span><a name="line.2940"></a>
-<span class="sourceLineNo">2941</span>  private int doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2941"></a>
-<span class="sourceLineNo">2942</span>      throws IOException {<a name="line.2942"></a>
-<span class="sourceLineNo">2943</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2943"></a>
-<span class="sourceLineNo">2944</span>    WALEdit walEdit = new WALEdit();<a name="line.2944"></a>
-<span class="sourceLineNo">2945</span>    int cellCount = 0;<a name="line.2945"></a>
-<span class="sourceLineNo">2946</span>    if (coprocessorHost != null) {<a name="line.2946"></a>
-<span class="sourceLineNo">2947</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2947"></a>
-<span class="sourceLineNo">2948</span>        Mutation m = batchOp.getMutation(i);<a name="line.2948"></a>
-<span class="sourceLineNo">2949</span>        if (m instanceof Put) {<a name="line.2949"></a>
-<span class="sourceLineNo">2950</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2950"></a>
-<span class="sourceLineNo">2951</span>            // pre hook says skip this Put<a name="line.2951"></a>
-<span class="sourceLineNo">2952</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2952"></a>
-<span class="sourceLineNo">2953</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2953"></a>
-<span class="sourceLineNo">2954</span>          }<a name="line.2954"></a>
-<span class="sourceLineNo">2955</span>        } else if (m instanceof Delete) {<a name="line.2955"></a>
-<span class="sourceLineNo">2956</span>          Delete curDel = (Delete) m;<a name="line.2956"></a>
-<span class="sourceLineNo">2957</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2957"></a>
-<span class="sourceLineNo">2958</span>            // handle deleting a row case<a name="line.2958"></a>
-<span class="sourceLineNo">2959</span>            prepareDelete(curDel);<a name="line.2959"></a>
-<span class="sourceLineNo">2960</span>          }<a name="line.2960"></a>
-<span class="sourceLineNo">2961</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2961"></a>
-<span class="sourceLineNo">2962</span>            // pre hook says skip this Delete<a name="line.2962"></a>
-<span class="sourceLineNo">2963</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2963"></a>
-<span class="sourceLineNo">2964</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2964"></a>
-<span class="sourceLineNo">2965</span>          }<a name="line.2965"></a>
-<span class="sourceLineNo">2966</span>        } else {<a name="line.2966"></a>
-<span class="sourceLineNo">2967</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2967"></a>
-<span class="sourceLineNo">2968</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2968"></a>
-<span class="sourceLineNo">2969</span>          // the doMiniBatchMutation<a name="line.2969"></a>
-<span class="sourceLineNo">2970</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2970"></a>
-<span class="sourceLineNo">2971</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2971"></a>
-<span class="sourceLineNo">2972</span>        }<a name="line.2972"></a>
-<span class="sourceLineNo">2973</span>        if (!walEdit.isEmpty()) {<a name="line.2973"></a>
-<span class="sourceLineNo">2974</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2974"></a>
-<span class="sourceLineNo">2975</span>          cellCount += walEdit.size();<a name="line.2975"></a>
-<span class="sourceLineNo">2976</span>          walEdit = new WALEdit();<a name="line.2976"></a>
-<span class="sourceLineNo">2977</span>        }<a name="line.2977"></a>
-<span class="sourceLineNo">2978</span>      }<a name="line.2978"></a>
-<span class="sourceLineNo">2979</span>    }<a name="line.2979"></a>
-<span class="sourceLineNo">2980</span>    return cellCount;<a name="line.2980"></a>
-<span class="sourceLineNo">2981</span>  }<a name="line.2981"></a>
-<span class="sourceLineNo">2982</span><a name="line.2982"></a>
-<span class="sourceLineNo">2983</span>  @SuppressWarnings("unchecked")<a name="line.2983"></a>
-<span class="sourceLineNo">2984</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp, int cellCount)<a name="line.2984"></a>
-<span class="sourceLineNo">2985</span>      throws IOException {<a name="line.2985"></a>
-<span class="sourceLineNo">2986</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2986"></a>
-<span class="sourceLineNo">2987</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2987"></a>
-<span class="sourceLineNo">2988</span>    boolean putsCfSetConsistent = true;<a name="line.2988"></a>
-<span class="sourceLineNo">2989</span>    //The set of columnFamilies first seen for Put.<a name="line.2989"></a>
-<span class="sourceLineNo">2990</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2990"></a>
-<span class="sourceLineNo">2991</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2991"></a>
-<span class="sourceLineNo">2992</span>    boolean deletesCfSetConsistent = true;<a name="line.2992"></a>
-<span class="sourceLineNo">2993</span>    //The set of columnFamilies first seen for Delete.<a name="line.2993"></a>
-<span class="sourceLineNo">2994</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2994"></a>
-<span class="sourceLineNo">2995</span><a name="line.2995"></a>
-<span class="sourceLineNo">2996</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2996"></a>
-<span class="sourceLineNo">2997</span>    WALEdit walEdit = null;<a name="line.2997"></a>
-<span class="sourceLineNo">2998</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2998"></a>
-<span class="sourceLineNo">2999</span>    long txid = 0;<a name="line.2999"></a>
-<span class="sourceLineNo">3000</span>    boolean doRollBackMemstore = false;<a name="line.3000"></a>
-<span class="sourceLineNo">3001</span>    boolean locked = false;<a name="line.3001"></a>
-<span class="sourceLineNo">3002</span><a name="line.3002"></a>
-<span class="sourceLineNo">3003</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.3003"></a>
-<span class="sourceLineNo">3004</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.3004"></a>
-<span class="sourceLineNo">3005</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3005"></a>
-<span class="sourceLineNo">3006</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3006"></a>
-<span class="sourceLineNo">3007</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3007"></a>
-<span class="sourceLineNo">3008</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3008"></a>
-<span class="sourceLineNo">3009</span>    int lastIndexExclusive = firstIndex;<a name="line.3009"></a>
-<span class="sourceLineNo">3010</span>    boolean success = false;<a name="line.3010"></a>
-<span class="sourceLineNo">3011</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3011"></a>
-<span class="sourceLineNo">3012</span>    WALKey walKey = null;<a name="line.3012"></a>
-<span class="sourceLineNo">3013</span>    long mvccNum = 0;<a name="line.3013"></a>
-<span class="sourceLineNo">3014</span>    try {<a name="line.3014"></a>
-<span class="sourceLineNo">3015</span>      // ------------------------------------<a name="line.3015"></a>
-<span class="sourceLineNo">3016</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3016"></a>
-<span class="sourceLineNo">3017</span>      // we acquire at least one.<a name="line.3017"></a>
-<span class="sourceLineNo">3018</span>      // ----------------------------------<a name="line.3018"></a>
-<span class="sourceLineNo">3019</span>      int numReadyToWrite = 0;<a name="line.3019"></a>
-<span class="sourceLineNo">3020</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3020"></a>
-<span class="sourceLineNo">3021</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3021"></a>
-<span class="sourceLineNo">3022</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3022"></a>
-<span class="sourceLineNo">3023</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3023"></a>
-<span class="sourceLineNo">3024</span><a name="line.3024"></a>
-<span class="sourceLineNo">3025</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3025"></a>
-<span class="sourceLineNo">3026</span>        // store the family map reference to allow for mutations<a name="line.3026"></a>
-<span class="sourceLineNo">3027</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3027"></a>
-<span class="sourceLineNo">3028</span>        // skip anything that "ran" already<a name="line.3028"></a>
-<span class="sourceLineNo">3029</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3029"></a>
-<span class="sourceLineNo">3030</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3030"></a>
-<span class="sourceLineNo">3031</span>          lastIndexExclusive++;<a name="line.3031"></a>
-<span class="sourceLineNo">3032</span>          continue;<a name="line.3032"></a>
-<span class="sourceLineNo">3033</span>        }<a name="line.3033"></a>
-<span class="sourceLineNo">3034</span><a name="line.3034"></a>
-<span class="sourceLineNo">3035</span>        try {<a name="line.3035"></a>
-<span class="sourceLineNo">3036</span>          if (isPutMutation) {<a name="line.3036"></a>
-<span class="sourceLineNo">3037</span>            // Check the families in the put. If bad, skip this one.<a name="line.3037"></a>
-<span class="sourceLineNo">3038</span>            if (isInReplay) {<a name="line.3038"></a>
-<span class="sourceLineNo">3039</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3039"></a>
-<span class="sourceLineNo">3040</span>            } else {<a name="line.3040"></a>
-<span class="sourceLineNo">3041</span>              checkFamilies(familyMap.keySet());<a name="line.3041"></a>
-<span class="sourceLineNo">3042</span>            }<a name="line.3042"></a>
-<span class="sourceLineNo">3043</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3043"></a>
-<span class="sourceLineNo">3044</span>          } else {<a name="line.3044"></a>
-<span class="sourceLineNo">3045</span>            prepareDelete((Delete) mutation);<a name="line.3045"></a>
-<span class="sourceLineNo">3046</span>          }<a name="line.3046"></a>
-<span class="sourceLineNo">3047</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3047"></a>
-<span class="sourceLineNo">3048</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3048"></a>
-<span class="sourceLineNo">3049</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3049"></a>
-<span class="sourceLineNo">3050</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3050"></a>
-<span class="sourceLineNo">3051</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3051"></a>
-<span class="sourceLineNo">3052</span>          lastIndexExclusive++;<a name="line.3052"></a>
-<span class="sourceLineNo">3053</span>          continue;<a name="line.3053"></a>
-<span class="sourceLineNo">3054</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3054"></a>
-<span class="sourceLineNo">3055</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3055"></a>
-<span class="sourceLineNo">3056</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3056"></a>
-<span class="sourceLineNo">3057</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3057"></a>
-<span class="sourceLineNo">3058</span>          lastIndexExclusive++;<a name="line.3058"></a>
-<span class="sourceLineNo">3059</span>          continue;<a name="line.3059"></a>
-<span class="sourceLineNo">3060</span>        } catch (WrongRegionException we) {<a name="line.3060"></a>
-<span class="sourceLineNo">3061</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3061"></a>
-<span class="sourceLineNo">3062</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3062"></a>
-<span class="sourceLineNo">3063</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3063"></a>
-<span class="sourceLineNo">3064</span>          lastIndexExclusive++;<a name="line.3064"></a>
-<span class="sourceLineNo">3065</span>          continue;<a name="line.3065"></a>
-<span class="sourceLineNo">3066</span>        }<a name="line.3066"></a>
-<span class="sourceLineNo">3067</span><a name="line.3067"></a>
-<span class="sourceLineNo">3068</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3068"></a>
-<span class="sourceLineNo">3069</span>        // get the next one.<a name="line.3069"></a>
-<span class="sourceLineNo">3070</span>        RowLock rowLock = null;<a name="line.3070"></a>
-<span class="sourceLineNo">3071</span>        try {<a name="line.3071"></a>
-<span class="sourceLineNo">3072</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3072"></a>
-<span class="sourceLineNo">3073</span>        } catch (IOException ioe) {<a name="line.3073"></a>
-<span class="sourceLineNo">3074</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3074"></a>
-<span class="sourceLineNo">3075</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3075"></a>
-<span class="sourceLineNo">3076</span>        }<a name="line.3076"></a>
-<span class="sourceLineNo">3077</span>        if (rowLock == null) {<a name="line.3077"></a>
-<span class="sourceLineNo">3078</span>          // We failed to grab another lock<a name="line.3078"></a>
-<span class="sourceLineNo">3079</span>          break; // stop acquiring more rows for this batch<a name="line.3079"></a>
-<span class="sourceLineNo">3080</span>        } else {<a name="line.3080"></a>
-<span class="sourceLineNo">3081</span>          acquiredRowLocks.add(rowLock);<a name="line.3081"></a>
-<span class="sourceLineNo">3082</span>        }<a name="line.3082"></a>
-<span class="sourceLineNo">3083</span><a name="line.3083"></a>
-<span class="sourceLineNo">3084</span>        lastIndexExclusive++;<a name="line.3084"></a>
-<span class="sourceLineNo">3085</span>        numReadyToWrite++;<a name="line.3085"></a>
-<span class="sourceLineNo">3086</span><a name="line.3086"></a>
-<span class="sourceLineNo">3087</span>        if (isPutMutation) {<a name="line.3087"></a>
-<span class="sourceLineNo">3088</span>          // If Column Families stay consistent through out all of the<a name="line.3088"></a>
-<span class="sourceLineNo">3089</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3089"></a>
-<span class="sourceLineNo">3090</span>          // column families in the first put.<a name="line.3090"></a>
-<span class="sourceLineNo">3091</span>          if (putsCfSet == null) {<a name="line.3091"></a>
-<span class="sourceLineNo">3092</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3092"></a>
-<span class="sourceLineNo">3093</span>          } else {<a name="line.3093"></a>
-<span class="sourceLineNo">3094</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3094"></a>
-<span class="sourceLineNo">3095</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3095"></a>
-<span class="sourceLineNo">3096</span>          }<a name="line.3096"></a>
-<span class="sourceLineNo">3097</span>        } else {<a name="line.3097"></a>
-<span class="sourceLineNo">3098</span>          if (deletesCfSet == null) {<a name="line.3098"></a>
-<span class="sourceLineNo">3099</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3099"></a>
-<span class="sourceLineNo">3100</span>          } else {<a name="line.3100"></a>
-<span class="sourceLineNo">3101</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3101"></a>
-<span class="sourceLineNo">3102</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3102"></a>
-<span class="sourceLineNo">3103</span>          }<a name="line.3103"></a>
-<span class="sourceLineNo">3104</span>        }<a name="line.3104"></a>
-<span class="sourceLineNo">3105</span>      }<a name="line.3105"></a>
-<span class="sourceLineNo">3106</span><a name="line.3106"></a>
-<span class="sourceLineNo">3107</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3107"></a>
-<span class="sourceLineNo">3108</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3108"></a>
-<span class="sourceLineNo">3109</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3109"></a>
-<span class="sourceLineNo">3110</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3110"></a>
-<span class="sourceLineNo">3111</span><a name="line.3111"></a>
-<span class="sourceLineNo">3112</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3112"></a>
-<span class="sourceLineNo">3113</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3113"></a>
-<span class="sourceLineNo">3114</span><a name="line.3114"></a>
-<span class="sourceLineNo">3115</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3115"></a>
-<span class="sourceLineNo">3116</span><a name="line.3116"></a>
-<span class="sourceLineNo">3117</span>      // ------------------------------------<a name="line.3117"></a>
-<span class="sourceLineNo">3118</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3118"></a>
-<span class="sourceLineNo">3119</span>      // ----------------------------------<a name="line.3119"></a>
-<span class="sourceLineNo">3120</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3120"></a>
-<span class="sourceLineNo">3121</span>        // skip invalid<a name="line.3121"></a>
-<span class="sourceLineNo">3122</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3122"></a>
-<span class="sourceLineNo">3123</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3123"></a>
-<span class="sourceLineNo">3124</span><a name="line.3124"></a>
-<span class="sourceLineNo">3125</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3125"></a>
-<span class="sourceLineNo">3126</span>        if (mutation instanceof Put) {<a name="line.3126"></a>
-<span class="sourceLineNo">3127</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3127"></a>
-<span class="sourceLineNo">3128</span>          noOfPuts++;<a name="line.3128"></a>
-<span class="sourceLineNo">3129</span>        } else {<a name="line.3129"></a>
-<span class="sourceLineNo">3130</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3130"></a>
-<span class="sourceLineNo">3131</span>          noOfDeletes++;<a name="line.3131"></a>
-<span class="sourceLineNo">3132</span>        }<a name="line.3132"></a>
-<span class="sourceLineNo">3133</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3133"></a>
-<span class="sourceLineNo">3134</span>        for (List&lt;Cell&gt; cells : familyMaps[i].values()) {<a name="line.3134"></a>
-<span class="sourceLineNo">3135</span>          cellCount += cells.size();<a name="line.3135"></a>
-<span class="sourceLineNo">3136</span>        }<a name="line.3136"></a>
-<span class="sourceLineNo">3137</span>      }<a name="line.3137"></a>
-<span class="sourceLineNo">3138</span>      walEdit = new WALEdit(cellCount);<a name="line.3138"></a>
-<span class="sourceLineNo">3139</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3139"></a>
-<span class="sourceLineNo">3140</span>      locked = true;<a name="line.3140"></a>
-<span class="sourceLineNo">3141</span><a name="line.3141"></a>
-<span class="sourceLineNo">3142</span>      // calling the pre CP hook for batch mutation<a name="line.3142"></a>
-<span class="sourceLineNo">3143</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3143"></a>
-<span class="sourceLineNo">3144</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3144"></a>
-<span class="sourceLineNo">3145</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3145"></a>
-<span class="sourceLineNo">3146</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3146"></a>
-<span class="sourceLineNo">3147</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3147"></a>
-<span class="sourceLineNo">3148</span>      }<a name="line.3148"></a>
-<span class="sourceLineNo">3149</span><a name="line.3149"></a>
-<span class="sourceLineNo">3150</span>      // ------------------------------------<a name="line.3150"></a>
-<span class="sourceLineNo">3151</span>      // STEP 3. Build WAL edit<a name="line.3151"></a>
-<span class="sourceLineNo">3152</span>      // ----------------------------------<a name="line.3152"></a>
-<span class="sourceLineNo">3153</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3153"></a>
-<span class="sourceLineNo">3154</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3154"></a>
-<span class="sourceLineNo">3155</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3155"></a>
-<span class="sourceLineNo">3156</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3156"></a>
-<span class="sourceLineNo">3157</span>          continue;<a name="line.3157"></a>
-<span class="sourceLineNo">3158</span>        }<a name="line.3158"></a>
-<span class="sourceLineNo">3159</span><a name="line.3159"></a>
-<span class="sourceLineNo">3160</span>        Mutation m = batchOp.getMutation(i);<a name="line.3160"></a>
-<span class="sourceLineNo">3161</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3161"></a>
-<span class="sourceLineNo">3162</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3162"></a>
-<span class="sourceLineNo">3163</span>          durability = tmpDur;<a name="line.3163"></a>
-<span class="sourceLineNo">3164</span>        }<a name="line.3164"></a>
-<span class="sourceLineNo">3165</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3165"></a>
-<span class="sourceLineNo">3166</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3166"></a>
-<span class="sourceLineNo">3167</span>          continue;<a name="line.3167"></a>
-<span class="sourceLineNo">3168</span>        }<a name="line.3168"></a>
-<span class="sourceLineNo">3169</span><a name="line.3169"></a>
-<span class="sourceLineNo">3170</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3170"></a>
-<span class="sourceLineNo">3171</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3171"></a>
-<span class="sourceLineNo">3172</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3172"></a>
-<span class="sourceLineNo">3173</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3173"></a>
-<span class="sourceLineNo">3174</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3174"></a>
-<span class="sourceLineNo">3175</span>          if (walEdit.size() &gt; 0) {<a name="line.3175"></a>
-<span class="sourceLineNo">3176</span>            assert isInReplay;<a name="line.3176"></a>
-<span class="sourceLineNo">3177</span>            if (!isInReplay) {<a name="line.3177"></a>
-<span class="sourceLineNo">3178</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3178"></a>
-<span class="sourceLineNo">3179</span>            }<a name="line.3179"></a>
-<span class="sourceLineNo">3180</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3180"></a>
-<span class="sourceLineNo">3181</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3181"></a>
-<span class="sourceLineNo">3182</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3182"></a>
-<span class="sourceLineNo">3183</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3183"></a>
-<span class="sourceLineNo">3184</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3184"></a>
-<span class="sourceLineNo">3185</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3185"></a>
-<span class="sourceLineNo">3186</span>              walEdit, true);<a name="line.3186"></a>
-<span class="sourceLineNo">3187</span>            walEdit = new WALEdit(isInReplay);<a name="line.3187"></a>
-<span class="sourceLineNo">3188</span>            walKey = null;<a name="line.3188"></a>
-<span class="sourceLineNo">3189</span>          }<a name="line.3189"></a>
-<span class="sourceLineNo">3190</span>          currentNonceGroup = nonceGroup;<a name="line.3190"></a>
-<span class="sourceLineNo">3191</span>          currentNonce = nonce;<a name="line.3191"></a>
-<span class="sourceLineNo">3192</span>        }<a name="line.3192"></a>
-<span class="sourceLineNo">3193</span><a name="line.3193"></a>
-<span class="sourceLineNo">3194</span>        // Add WAL edits by CP<a name="line.3194"></a>
-<span class="sourceLineNo">3195</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3195"></a>
-<span class="sourceLineNo">3196</span>        if (fromCP != null) {<a name="line.3196"></a>
-<span class="sourceLineNo">3197</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3197"></a>
-<span class="sourceLineNo">3198</span>            walEdit.add(cell);<a name="line.3198"></a>
-<span class="sourceLineNo">3199</span>          }<a name="line.3199"></a>
-<span class="sourceLineNo">3200</span>        }<a name="line.3200"></a>
-<span class="sourceLineNo">3201</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3201"></a>
-<span class="sourceLineNo">3202</span>      }<a name="line.3202"></a>
-<span class="sourceLineNo">3203</span><a name="line.3203"></a>
-<span class="sourceLineNo">3204</span>      // -------------------------<a name="line.3204"></a>
-<span class="sourceLineNo">3205</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3205"></a>
-<span class="sourceLineNo">3206</span>      // -------------------------<a name="line.3206"></a>
-<span class="sourceLineNo">3207</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3207"></a>
-<span class="sourceLineNo">3208</span>      if (isInReplay) {<a name="line.3208"></a>
-<span class="sourceLineNo">3209</span>        // use wal key from the original<a name="line.3209"></a>
-<span class="sourceLineNo">3210</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3210"></a>
-<span class="sourceLineNo">3211</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3211"></a>
-<span class="sourceLineNo">3212</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3212"></a>
-<span class="sourceLineNo">3213</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3213"></a>
-<span class="sourceLineNo">3214</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3214"></a>
-<span class="sourceLineNo">3215</span>      }<a name="line.3215"></a>
-<span class="sourceLineNo">3216</span>      if (walEdit.size() &gt; 0) {<a name="line.3216"></a>
-<span class="sourceLineNo">3217</span>        if (!isInReplay) {<a name="line.3217"></a>
-<span class="sourceLineNo">3218</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3218"></a>
-<span class="sourceLineNo">3219</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3219"></a>
-<span class="sourceLineNo">3220</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3220"></a>
-<span class="sourceLineNo">3221</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3221"></a>
-<span class="sourceLineNo">3222</span>        }<a name="line.3222"></a>
-<span class="sourceLineNo">3223</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3223"></a>
+<span class="sourceLineNo">2940</span>  private void doPreMutationHook(BatchOperationInProgress&lt;?&gt; batchOp)<a name="line.2940"></a>
+<span class="sourceLineNo">2941</span>      throws IOException {<a name="line.2941"></a>
+<span class="sourceLineNo">2942</span>    /* Run coprocessor pre hook outside of locks to avoid deadlock */<a name="line.2942"></a>
+<span class="sourceLineNo">2943</span>    WALEdit walEdit = new WALEdit();<a name="line.2943"></a>
+<span class="sourceLineNo">2944</span>    if (coprocessorHost != null) {<a name="line.2944"></a>
+<span class="sourceLineNo">2945</span>      for (int i = 0 ; i &lt; batchOp.operations.length; i++) {<a name="line.2945"></a>
+<span class="sourceLineNo">2946</span>        Mutation m = batchOp.getMutation(i);<a name="line.2946"></a>
+<span class="sourceLineNo">2947</span>        if (m instanceof Put) {<a name="line.2947"></a>
+<span class="sourceLineNo">2948</span>          if (coprocessorHost.prePut((Put) m, walEdit, m.getDurability())) {<a name="line.2948"></a>
+<span class="sourceLineNo">2949</span>            // pre hook says skip this Put<a name="line.2949"></a>
+<span class="sourceLineNo">2950</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2950"></a>
+<span class="sourceLineNo">2951</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2951"></a>
+<span class="sourceLineNo">2952</span>          }<a name="line.2952"></a>
+<span class="sourceLineNo">2953</span>        } else if (m instanceof Delete) {<a name="line.2953"></a>
+<span class="sourceLineNo">2954</span>          Delete curDel = (Delete) m;<a name="line.2954"></a>
+<span class="sourceLineNo">2955</span>          if (curDel.getFamilyCellMap().isEmpty()) {<a name="line.2955"></a>
+<span class="sourceLineNo">2956</span>            // handle deleting a row case<a name="line.2956"></a>
+<span class="sourceLineNo">2957</span>            prepareDelete(curDel);<a name="line.2957"></a>
+<span class="sourceLineNo">2958</span>          }<a name="line.2958"></a>
+<span class="sourceLineNo">2959</span>          if (coprocessorHost.preDelete(curDel, walEdit, m.getDurability())) {<a name="line.2959"></a>
+<span class="sourceLineNo">2960</span>            // pre hook says skip this Delete<a name="line.2960"></a>
+<span class="sourceLineNo">2961</span>            // mark as success and skip in doMiniBatchMutation<a name="line.2961"></a>
+<span class="sourceLineNo">2962</span>            batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.2962"></a>
+<span class="sourceLineNo">2963</span>          }<a name="line.2963"></a>
+<span class="sourceLineNo">2964</span>        } else {<a name="line.2964"></a>
+<span class="sourceLineNo">2965</span>          // In case of passing Append mutations along with the Puts and Deletes in batchMutate<a name="line.2965"></a>
+<span class="sourceLineNo">2966</span>          // mark the operation return code as failure so that it will not be considered in<a name="line.2966"></a>
+<span class="sourceLineNo">2967</span>          // the doMiniBatchMutation<a name="line.2967"></a>
+<span class="sourceLineNo">2968</span>          batchOp.retCodeDetails[i] = new OperationStatus(OperationStatusCode.FAILURE,<a name="line.2968"></a>
+<span class="sourceLineNo">2969</span>              "Put/Delete mutations only supported in batchMutate() now");<a name="line.2969"></a>
+<span class="sourceLineNo">2970</span>        }<a name="line.2970"></a>
+<span class="sourceLineNo">2971</span>        if (!walEdit.isEmpty()) {<a name="line.2971"></a>
+<span class="sourceLineNo">2972</span>          batchOp.walEditsFromCoprocessors[i] = walEdit;<a name="line.2972"></a>
+<span class="sourceLineNo">2973</span>          walEdit = new WALEdit();<a name="line.2973"></a>
+<span class="sourceLineNo">2974</span>        }<a name="line.2974"></a>
+<span class="sourceLineNo">2975</span>      }<a name="line.2975"></a>
+<span class="sourceLineNo">2976</span>    }<a name="line.2976"></a>
+<span class="sourceLineNo">2977</span>  }<a name="line.2977"></a>
+<span class="sourceLineNo">2978</span><a name="line.2978"></a>
+<span class="sourceLineNo">2979</span>  @SuppressWarnings("unchecked")<a name="line.2979"></a>
+<span class="sourceLineNo">2980</span>  private long doMiniBatchMutation(BatchOperationInProgress&lt;?&gt; batchOp) throws IOException {<a name="line.2980"></a>
+<span class="sourceLineNo">2981</span>    boolean isInReplay = batchOp.isInReplay();<a name="line.2981"></a>
+<span class="sourceLineNo">2982</span>    // variable to note if all Put items are for the same CF -- metrics related<a name="line.2982"></a>
+<span class="sourceLineNo">2983</span>    boolean putsCfSetConsistent = true;<a name="line.2983"></a>
+<span class="sourceLineNo">2984</span>    //The set of columnFamilies first seen for Put.<a name="line.2984"></a>
+<span class="sourceLineNo">2985</span>    Set&lt;byte[]&gt; putsCfSet = null;<a name="line.2985"></a>
+<span class="sourceLineNo">2986</span>    // variable to note if all Delete items are for the same CF -- metrics related<a name="line.2986"></a>
+<span class="sourceLineNo">2987</span>    boolean deletesCfSetConsistent = true;<a name="line.2987"></a>
+<span class="sourceLineNo">2988</span>    //The set of columnFamilies first seen for Delete.<a name="line.2988"></a>
+<span class="sourceLineNo">2989</span>    Set&lt;byte[]&gt; deletesCfSet = null;<a name="line.2989"></a>
+<span class="sourceLineNo">2990</span><a name="line.2990"></a>
+<span class="sourceLineNo">2991</span>    long currentNonceGroup = HConstants.NO_NONCE, currentNonce = HConstants.NO_NONCE;<a name="line.2991"></a>
+<span class="sourceLineNo">2992</span>    WALEdit walEdit = new WALEdit(isInReplay);<a name="line.2992"></a>
+<span class="sourceLineNo">2993</span>    MultiVersionConcurrencyControl.WriteEntry writeEntry = null;<a name="line.2993"></a>
+<span class="sourceLineNo">2994</span>    long txid = 0;<a name="line.2994"></a>
+<span class="sourceLineNo">2995</span>    boolean doRollBackMemstore = false;<a name="line.2995"></a>
+<span class="sourceLineNo">2996</span>    boolean locked = false;<a name="line.2996"></a>
+<span class="sourceLineNo">2997</span><a name="line.2997"></a>
+<span class="sourceLineNo">2998</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.2998"></a>
+<span class="sourceLineNo">2999</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.operations.length);<a name="line.2999"></a>
+<span class="sourceLineNo">3000</span>    // reference family maps directly so coprocessors can mutate them if desired<a name="line.3000"></a>
+<span class="sourceLineNo">3001</span>    Map&lt;byte[], List&lt;Cell&gt;&gt;[] familyMaps = new Map[batchOp.operations.length];<a name="line.3001"></a>
+<span class="sourceLineNo">3002</span>    // We try to set up a batch in the range [firstIndex,lastIndexExclusive)<a name="line.3002"></a>
+<span class="sourceLineNo">3003</span>    int firstIndex = batchOp.nextIndexToProcess;<a name="line.3003"></a>
+<span class="sourceLineNo">3004</span>    int lastIndexExclusive = firstIndex;<a name="line.3004"></a>
+<span class="sourceLineNo">3005</span>    boolean success = false;<a name="line.3005"></a>
+<span class="sourceLineNo">3006</span>    int noOfPuts = 0, noOfDeletes = 0;<a name="line.3006"></a>
+<span class="sourceLineNo">3007</span>    WALKey walKey = null;<a name="line.3007"></a>
+<span class="sourceLineNo">3008</span>    long mvccNum = 0;<a name="line.3008"></a>
+<span class="sourceLineNo">3009</span>    try {<a name="line.3009"></a>
+<span class="sourceLineNo">3010</span>      // ------------------------------------<a name="line.3010"></a>
+<span class="sourceLineNo">3011</span>      // STEP 1. Try to acquire as many locks as we can, and ensure<a name="line.3011"></a>
+<span class="sourceLineNo">3012</span>      // we acquire at least one.<a name="line.3012"></a>
+<span class="sourceLineNo">3013</span>      // ----------------------------------<a name="line.3013"></a>
+<span class="sourceLineNo">3014</span>      int numReadyToWrite = 0;<a name="line.3014"></a>
+<span class="sourceLineNo">3015</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.3015"></a>
+<span class="sourceLineNo">3016</span>      while (lastIndexExclusive &lt; batchOp.operations.length) {<a name="line.3016"></a>
+<span class="sourceLineNo">3017</span>        Mutation mutation = batchOp.getMutation(lastIndexExclusive);<a name="line.3017"></a>
+<span class="sourceLineNo">3018</span>        boolean isPutMutation = mutation instanceof Put;<a name="line.3018"></a>
+<span class="sourceLineNo">3019</span><a name="line.3019"></a>
+<span class="sourceLineNo">3020</span>        Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap = mutation.getFamilyCellMap();<a name="line.3020"></a>
+<span class="sourceLineNo">3021</span>        // store the family map reference to allow for mutations<a name="line.3021"></a>
+<span class="sourceLineNo">3022</span>        familyMaps[lastIndexExclusive] = familyMap;<a name="line.3022"></a>
+<span class="sourceLineNo">3023</span><a name="line.3023"></a>
+<span class="sourceLineNo">3024</span>        // skip anything that "ran" already<a name="line.3024"></a>
+<span class="sourceLineNo">3025</span>        if (batchOp.retCodeDetails[lastIndexExclusive].getOperationStatusCode()<a name="line.3025"></a>
+<span class="sourceLineNo">3026</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3026"></a>
+<span class="sourceLineNo">3027</span>          lastIndexExclusive++;<a name="line.3027"></a>
+<span class="sourceLineNo">3028</span>          continue;<a name="line.3028"></a>
+<span class="sourceLineNo">3029</span>        }<a name="line.3029"></a>
+<span class="sourceLineNo">3030</span><a name="line.3030"></a>
+<span class="sourceLineNo">3031</span>        try {<a name="line.3031"></a>
+<span class="sourceLineNo">3032</span>          if (isPutMutation) {<a name="line.3032"></a>
+<span class="sourceLineNo">3033</span>            // Check the families in the put. If bad, skip this one.<a name="line.3033"></a>
+<span class="sourceLineNo">3034</span>            if (isInReplay) {<a name="line.3034"></a>
+<span class="sourceLineNo">3035</span>              removeNonExistentColumnFamilyForReplay(familyMap);<a name="line.3035"></a>
+<span class="sourceLineNo">3036</span>            } else {<a name="line.3036"></a>
+<span class="sourceLineNo">3037</span>              checkFamilies(familyMap.keySet());<a name="line.3037"></a>
+<span class="sourceLineNo">3038</span>            }<a name="line.3038"></a>
+<span class="sourceLineNo">3039</span>            checkTimestamps(mutation.getFamilyCellMap(), now);<a name="line.3039"></a>
+<span class="sourceLineNo">3040</span>          } else {<a name="line.3040"></a>
+<span class="sourceLineNo">3041</span>            prepareDelete((Delete) mutation);<a name="line.3041"></a>
+<span class="sourceLineNo">3042</span>          }<a name="line.3042"></a>
+<span class="sourceLineNo">3043</span>          checkRow(mutation.getRow(), "doMiniBatchMutation");<a name="line.3043"></a>
+<span class="sourceLineNo">3044</span>        } catch (NoSuchColumnFamilyException nscf) {<a name="line.3044"></a>
+<span class="sourceLineNo">3045</span>          LOG.warn("No such column family in batch mutation", nscf);<a name="line.3045"></a>
+<span class="sourceLineNo">3046</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3046"></a>
+<span class="sourceLineNo">3047</span>              OperationStatusCode.BAD_FAMILY, nscf.getMessage());<a name="line.3047"></a>
+<span class="sourceLineNo">3048</span>          lastIndexExclusive++;<a name="line.3048"></a>
+<span class="sourceLineNo">3049</span>          continue;<a name="line.3049"></a>
+<span class="sourceLineNo">3050</span>        } catch (FailedSanityCheckException fsce) {<a name="line.3050"></a>
+<span class="sourceLineNo">3051</span>          LOG.warn("Batch Mutation did not pass sanity check", fsce);<a name="line.3051"></a>
+<span class="sourceLineNo">3052</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3052"></a>
+<span class="sourceLineNo">3053</span>              OperationStatusCode.SANITY_CHECK_FAILURE, fsce.getMessage());<a name="line.3053"></a>
+<span class="sourceLineNo">3054</span>          lastIndexExclusive++;<a name="line.3054"></a>
+<span class="sourceLineNo">3055</span>          continue;<a name="line.3055"></a>
+<span class="sourceLineNo">3056</span>        } catch (WrongRegionException we) {<a name="line.3056"></a>
+<span class="sourceLineNo">3057</span>          LOG.warn("Batch mutation had a row that does not belong to this region", we);<a name="line.3057"></a>
+<span class="sourceLineNo">3058</span>          batchOp.retCodeDetails[lastIndexExclusive] = new OperationStatus(<a name="line.3058"></a>
+<span class="sourceLineNo">3059</span>              OperationStatusCode.SANITY_CHECK_FAILURE, we.getMessage());<a name="line.3059"></a>
+<span class="sourceLineNo">3060</span>          lastIndexExclusive++;<a name="line.3060"></a>
+<span class="sourceLineNo">3061</span>          continue;<a name="line.3061"></a>
+<span class="sourceLineNo">3062</span>        }<a name="line.3062"></a>
+<span class="sourceLineNo">3063</span><a name="line.3063"></a>
+<span class="sourceLineNo">3064</span>        // If we haven't got any rows in our batch, we should block to<a name="line.3064"></a>
+<span class="sourceLineNo">3065</span>        // get the next one.<a name="line.3065"></a>
+<span class="sourceLineNo">3066</span>        RowLock rowLock = null;<a name="line.3066"></a>
+<span class="sourceLineNo">3067</span>        try {<a name="line.3067"></a>
+<span class="sourceLineNo">3068</span>          rowLock = getRowLock(mutation.getRow(), true);<a name="line.3068"></a>
+<span class="sourceLineNo">3069</span>        } catch (IOException ioe) {<a name="line.3069"></a>
+<span class="sourceLineNo">3070</span>          LOG.warn("Failed getting lock in batch put, row="<a name="line.3070"></a>
+<span class="sourceLineNo">3071</span>            + Bytes.toStringBinary(mutation.getRow()), ioe);<a name="line.3071"></a>
+<span class="sourceLineNo">3072</span>        }<a name="line.3072"></a>
+<span class="sourceLineNo">3073</span>        if (rowLock == null) {<a name="line.3073"></a>
+<span class="sourceLineNo">3074</span>          // We failed to grab another lock<a name="line.3074"></a>
+<span class="sourceLineNo">3075</span>          break; // stop acquiring more rows for this batch<a name="line.3075"></a>
+<span class="sourceLineNo">3076</span>        } else {<a name="line.3076"></a>
+<span class="sourceLineNo">3077</span>          acquiredRowLocks.add(rowLock);<a name="line.3077"></a>
+<span class="sourceLineNo">3078</span>        }<a name="line.3078"></a>
+<span class="sourceLineNo">3079</span><a name="line.3079"></a>
+<span class="sourceLineNo">3080</span>        lastIndexExclusive++;<a name="line.3080"></a>
+<span class="sourceLineNo">3081</span>        numReadyToWrite++;<a name="line.3081"></a>
+<span class="sourceLineNo">3082</span><a name="line.3082"></a>
+<span class="sourceLineNo">3083</span>        if (isPutMutation) {<a name="line.3083"></a>
+<span class="sourceLineNo">3084</span>          // If Column Families stay consistent through out all of the<a name="line.3084"></a>
+<span class="sourceLineNo">3085</span>          // individual puts then metrics can be reported as a mutliput across<a name="line.3085"></a>
+<span class="sourceLineNo">3086</span>          // column families in the first put.<a name="line.3086"></a>
+<span class="sourceLineNo">3087</span>          if (putsCfSet == null) {<a name="line.3087"></a>
+<span class="sourceLineNo">3088</span>            putsCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3088"></a>
+<span class="sourceLineNo">3089</span>          } else {<a name="line.3089"></a>
+<span class="sourceLineNo">3090</span>            putsCfSetConsistent = putsCfSetConsistent<a name="line.3090"></a>
+<span class="sourceLineNo">3091</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(putsCfSet);<a name="line.3091"></a>
+<span class="sourceLineNo">3092</span>          }<a name="line.3092"></a>
+<span class="sourceLineNo">3093</span>        } else {<a name="line.3093"></a>
+<span class="sourceLineNo">3094</span>          if (deletesCfSet == null) {<a name="line.3094"></a>
+<span class="sourceLineNo">3095</span>            deletesCfSet = mutation.getFamilyCellMap().keySet();<a name="line.3095"></a>
+<span class="sourceLineNo">3096</span>          } else {<a name="line.3096"></a>
+<span class="sourceLineNo">3097</span>            deletesCfSetConsistent = deletesCfSetConsistent<a name="line.3097"></a>
+<span class="sourceLineNo">3098</span>                &amp;&amp; mutation.getFamilyCellMap().keySet().equals(deletesCfSet);<a name="line.3098"></a>
+<span class="sourceLineNo">3099</span>          }<a name="line.3099"></a>
+<span class="sourceLineNo">3100</span>        }<a name="line.3100"></a>
+<span class="sourceLineNo">3101</span>      }<a name="line.3101"></a>
+<span class="sourceLineNo">3102</span><a name="line.3102"></a>
+<span class="sourceLineNo">3103</span>      // we should record the timestamp only after we have acquired the rowLock,<a name="line.3103"></a>
+<span class="sourceLineNo">3104</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.3104"></a>
+<span class="sourceLineNo">3105</span>      now = EnvironmentEdgeManager.currentTime();<a name="line.3105"></a>
+<span class="sourceLineNo">3106</span>      byte[] byteNow = Bytes.toBytes(now);<a name="line.3106"></a>
+<span class="sourceLineNo">3107</span><a name="line.3107"></a>
+<span class="sourceLineNo">3108</span>      // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.3108"></a>
+<span class="sourceLineNo">3109</span>      if (numReadyToWrite &lt;= 0) return 0L;<a name="line.3109"></a>
+<span class="sourceLineNo">3110</span><a name="line.3110"></a>
+<span class="sourceLineNo">3111</span>      // We've now grabbed as many mutations off the list as we can<a name="line.3111"></a>
+<span class="sourceLineNo">3112</span><a name="line.3112"></a>
+<span class="sourceLineNo">3113</span>      // ------------------------------------<a name="line.3113"></a>
+<span class="sourceLineNo">3114</span>      // STEP 2. Update any LATEST_TIMESTAMP timestamps<a name="line.3114"></a>
+<span class="sourceLineNo">3115</span>      // ----------------------------------<a name="line.3115"></a>
+<span class="sourceLineNo">3116</span>      for (int i = firstIndex; !isInReplay &amp;&amp; i &lt; lastIndexExclusive; i++) {<a name="line.3116"></a>
+<span class="sourceLineNo">3117</span>        // skip invalid<a name="line.3117"></a>
+<span class="sourceLineNo">3118</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3118"></a>
+<span class="sourceLineNo">3119</span>            != OperationStatusCode.NOT_RUN) continue;<a name="line.3119"></a>
+<span class="sourceLineNo">3120</span><a name="line.3120"></a>
+<span class="sourceLineNo">3121</span>        Mutation mutation = batchOp.getMutation(i);<a name="line.3121"></a>
+<span class="sourceLineNo">3122</span>        if (mutation instanceof Put) {<a name="line.3122"></a>
+<span class="sourceLineNo">3123</span>          updateCellTimestamps(familyMaps[i].values(), byteNow);<a name="line.3123"></a>
+<span class="sourceLineNo">3124</span>          noOfPuts++;<a name="line.3124"></a>
+<span class="sourceLineNo">3125</span>        } else {<a name="line.3125"></a>
+<span class="sourceLineNo">3126</span>          prepareDeleteTimestamps(mutation, familyMaps[i], byteNow);<a name="line.3126"></a>
+<span class="sourceLineNo">3127</span>          noOfDeletes++;<a name="line.3127"></a>
+<span class="sourceLineNo">3128</span>        }<a name="line.3128"></a>
+<span class="sourceLineNo">3129</span>        rewriteCellTags(familyMaps[i], mutation);<a name="line.3129"></a>
+<span class="sourceLineNo">3130</span>      }<a name="line.3130"></a>
+<span class="sourceLineNo">3131</span><a name="line.3131"></a>
+<span class="sourceLineNo">3132</span>      lock(this.updatesLock.readLock(), numReadyToWrite);<a name="line.3132"></a>
+<span class="sourceLineNo">3133</span>      locked = true;<a name="line.3133"></a>
+<span class="sourceLineNo">3134</span><a name="line.3134"></a>
+<span class="sourceLineNo">3135</span>      // calling the pre CP hook for batch mutation<a name="line.3135"></a>
+<span class="sourceLineNo">3136</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3136"></a>
+<span class="sourceLineNo">3137</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3137"></a>
+<span class="sourceLineNo">3138</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3138"></a>
+<span class="sourceLineNo">3139</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3139"></a>
+<span class="sourceLineNo">3140</span>        if (coprocessorHost.preBatchMutate(miniBatchOp)) return 0L;<a name="line.3140"></a>
+<span class="sourceLineNo">3141</span>      }<a name="line.3141"></a>
+<span class="sourceLineNo">3142</span><a name="line.3142"></a>
+<span class="sourceLineNo">3143</span>      // ------------------------------------<a name="line.3143"></a>
+<span class="sourceLineNo">3144</span>      // STEP 3. Build WAL edit<a name="line.3144"></a>
+<span class="sourceLineNo">3145</span>      // ----------------------------------<a name="line.3145"></a>
+<span class="sourceLineNo">3146</span>      Durability durability = Durability.USE_DEFAULT;<a name="line.3146"></a>
+<span class="sourceLineNo">3147</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3147"></a>
+<span class="sourceLineNo">3148</span>        // Skip puts that were determined to be invalid during preprocessing<a name="line.3148"></a>
+<span class="sourceLineNo">3149</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode() != OperationStatusCode.NOT_RUN) {<a name="line.3149"></a>
+<span class="sourceLineNo">3150</span>          continue;<a name="line.3150"></a>
+<span class="sourceLineNo">3151</span>        }<a name="line.3151"></a>
+<span class="sourceLineNo">3152</span><a name="line.3152"></a>
+<span class="sourceLineNo">3153</span>        Mutation m = batchOp.getMutation(i);<a name="line.3153"></a>
+<span class="sourceLineNo">3154</span>        Durability tmpDur = getEffectiveDurability(m.getDurability());<a name="line.3154"></a>
+<span class="sourceLineNo">3155</span>        if (tmpDur.ordinal() &gt; durability.ordinal()) {<a name="line.3155"></a>
+<span class="sourceLineNo">3156</span>          durability = tmpDur;<a name="line.3156"></a>
+<span class="sourceLineNo">3157</span>        }<a name="line.3157"></a>
+<span class="sourceLineNo">3158</span>        if (tmpDur == Durability.SKIP_WAL) {<a name="line.3158"></a>
+<span class="sourceLineNo">3159</span>          recordMutationWithoutWal(m.getFamilyCellMap());<a name="line.3159"></a>
+<span class="sourceLineNo">3160</span>          continue;<a name="line.3160"></a>
+<span class="sourceLineNo">3161</span>        }<a name="line.3161"></a>
+<span class="sourceLineNo">3162</span><a name="line.3162"></a>
+<span class="sourceLineNo">3163</span>        long nonceGroup = batchOp.getNonceGroup(i), nonce = batchOp.getNonce(i);<a name="line.3163"></a>
+<span class="sourceLineNo">3164</span>        // In replay, the batch may contain multiple nonces. If so, write WALEdit for each.<a name="line.3164"></a>
+<span class="sourceLineNo">3165</span>        // Given how nonces are originally written, these should be contiguous.<a name="line.3165"></a>
+<span class="sourceLineNo">3166</span>        // They don't have to be, it will still work, just write more WALEdits than needed.<a name="line.3166"></a>
+<span class="sourceLineNo">3167</span>        if (nonceGroup != currentNonceGroup || nonce != currentNonce) {<a name="line.3167"></a>
+<span class="sourceLineNo">3168</span>          if (walEdit.size() &gt; 0) {<a name="line.3168"></a>
+<span class="sourceLineNo">3169</span>            assert isInReplay;<a name="line.3169"></a>
+<span class="sourceLineNo">3170</span>            if (!isInReplay) {<a name="line.3170"></a>
+<span class="sourceLineNo">3171</span>              throw new IOException("Multiple nonces per batch and not in replay");<a name="line.3171"></a>
+<span class="sourceLineNo">3172</span>            }<a name="line.3172"></a>
+<span class="sourceLineNo">3173</span>            // txid should always increase, so having the one from the last call is ok.<a name="line.3173"></a>
+<span class="sourceLineNo">3174</span>            // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3174"></a>
+<span class="sourceLineNo">3175</span>            walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3175"></a>
+<span class="sourceLineNo">3176</span>              this.htableDescriptor.getTableName(), now, m.getClusterIds(),<a name="line.3176"></a>
+<span class="sourceLineNo">3177</span>              currentNonceGroup, currentNonce, mvcc);<a name="line.3177"></a>
+<span class="sourceLineNo">3178</span>            txid = this.wal.append(this.htableDescriptor,  this.getRegionInfo(),  walKey,<a name="line.3178"></a>
+<span class="sourceLineNo">3179</span>              walEdit, true);<a name="line.3179"></a>
+<span class="sourceLineNo">3180</span>            walEdit = new WALEdit(isInReplay);<a name="line.3180"></a>
+<span class="sourceLineNo">3181</span>            walKey = null;<a name="line.3181"></a>
+<span class="sourceLineNo">3182</span>          }<a name="line.3182"></a>
+<span class="sourceLineNo">3183</span>          currentNonceGroup = nonceGroup;<a name="line.3183"></a>
+<span class="sourceLineNo">3184</span>          currentNonce = nonce;<a name="line.3184"></a>
+<span class="sourceLineNo">3185</span>        }<a name="line.3185"></a>
+<span class="sourceLineNo">3186</span><a name="line.3186"></a>
+<span class="sourceLineNo">3187</span>        // Add WAL edits by CP<a name="line.3187"></a>
+<span class="sourceLineNo">3188</span>        WALEdit fromCP = batchOp.walEditsFromCoprocessors[i];<a name="line.3188"></a>
+<span class="sourceLineNo">3189</span>        if (fromCP != null) {<a name="line.3189"></a>
+<span class="sourceLineNo">3190</span>          for (Cell cell : fromCP.getCells()) {<a name="line.3190"></a>
+<span class="sourceLineNo">3191</span>            walEdit.add(cell);<a name="line.3191"></a>
+<span class="sourceLineNo">3192</span>          }<a name="line.3192"></a>
+<span class="sourceLineNo">3193</span>        }<a name="line.3193"></a>
+<span class="sourceLineNo">3194</span>        addFamilyMapToWALEdit(familyMaps[i], walEdit);<a name="line.3194"></a>
+<span class="sourceLineNo">3195</span>      }<a name="line.3195"></a>
+<span class="sourceLineNo">3196</span><a name="line.3196"></a>
+<span class="sourceLineNo">3197</span>      // -------------------------<a name="line.3197"></a>
+<span class="sourceLineNo">3198</span>      // STEP 4. Append the final edit to WAL. Do not sync wal.<a name="line.3198"></a>
+<span class="sourceLineNo">3199</span>      // -------------------------<a name="line.3199"></a>
+<span class="sourceLineNo">3200</span>      Mutation mutation = batchOp.getMutation(firstIndex);<a name="line.3200"></a>
+<span class="sourceLineNo">3201</span>      if (isInReplay) {<a name="line.3201"></a>
+<span class="sourceLineNo">3202</span>        // use wal key from the original<a name="line.3202"></a>
+<span class="sourceLineNo">3203</span>        walKey = new ReplayHLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3203"></a>
+<span class="sourceLineNo">3204</span>          this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3204"></a>
+<span class="sourceLineNo">3205</span>          mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3205"></a>
+<span class="sourceLineNo">3206</span>        long replaySeqId = batchOp.getReplaySequenceId();<a name="line.3206"></a>
+<span class="sourceLineNo">3207</span>        walKey.setOrigLogSeqNum(replaySeqId);<a name="line.3207"></a>
+<span class="sourceLineNo">3208</span>      }<a name="line.3208"></a>
+<span class="sourceLineNo">3209</span>      if (walEdit.size() &gt; 0) {<a name="line.3209"></a>
+<span class="sourceLineNo">3210</span>        if (!isInReplay) {<a name="line.3210"></a>
+<span class="sourceLineNo">3211</span>        // we use HLogKey here instead of WALKey directly to support legacy coprocessors.<a name="line.3211"></a>
+<span class="sourceLineNo">3212</span>        walKey = new HLogKey(this.getRegionInfo().getEncodedNameAsBytes(),<a name="line.3212"></a>
+<span class="sourceLineNo">3213</span>            this.htableDescriptor.getTableName(), WALKey.NO_SEQUENCE_ID, now,<a name="line.3213"></a>
+<span class="sourceLineNo">3214</span>            mutation.getClusterIds(), currentNonceGroup, currentNonce, mvcc);<a name="line.3214"></a>
+<span class="sourceLineNo">3215</span>        }<a name="line.3215"></a>
+<span class="sourceLineNo">3216</span>        txid = this.wal.append(this.htableDescriptor, this.getRegionInfo(), walKey, walEdit, true);<a name="line.3216"></a>
+<span class="sourceLineNo">3217</span>      }<a name="line.3217"></a>
+<span class="sourceLineNo">3218</span>      // ------------------------------------<a name="line.3218"></a>
+<span class="sourceLineNo">3219</span>      // Acquire the latest mvcc number<a name="line.3219"></a>
+<span class="sourceLineNo">3220</span>      // ----------------------------------<a name="line.3220"></a>
+<span class="sourceLineNo">3221</span>      if (walKey == null) {<a name="line.3221"></a>
+<span class="sourceLineNo">3222</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3222"></a>
+<span class="sourceLineNo">3223</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3223"></a>
 <span class="sourceLineNo">3224</span>      }<a name="line.3224"></a>
-<span class="sourceLineNo">3225</span>      // ------------------------------------<a name="line.3225"></a>
-<span class="sourceLineNo">3226</span>      // Acquire the latest mvcc number<a name="line.3226"></a>
-<span class="sourceLineNo">3227</span>      // ----------------------------------<a name="line.3227"></a>
-<span class="sourceLineNo">3228</span>      if (walKey == null) {<a name="line.3228"></a>
-<span class="sourceLineNo">3229</span>        // If this is a skip wal operation just get the read point from mvcc<a name="line.3229"></a>
-<span class="sourceLineNo">3230</span>        walKey = this.appendEmptyEdit(this.wal);<a name="line.3230"></a>
-<span class="sourceLineNo">3231</span>      }<a name="line.3231"></a>
-<span class="sourceLineNo">3232</span>      if (!isInReplay) {<a name="line.3232"></a>
-<span class="sourceLineNo">3233</span>        writeEntry = walKey.getWriteEntry();<a name="line.3233"></a>
-<span class="sourceLineNo">3234</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3234"></a>
-<span class="sourceLineNo">3235</span>      } else {<a name="line.3235"></a>
-<span class="sourceLineNo">3236</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3236"></a>
-<span class="sourceLineNo">3237</span>      }<a name="line.3237"></a>
-<span class="sourceLineNo">3238</span><a name="line.3238"></a>
-<span class="sourceLineNo">3239</span>      // ------------------------------------<a name="line.3239"></a>
-<span class="sourceLineNo">3240</span>      // STEP 5. Write back to memstore<a name="line.3240"></a>
-<span class="sourceLineNo">3241</span>      // Write to memstore. It is ok to write to memstore<a name="line.3241"></a>
-<span class="sourceLineNo">3242</span>      // first without syncing the WAL because we do not roll<a name="line.3242"></a>
-<span class="sourceLineNo">3243</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3243"></a>
-<span class="sourceLineNo">3244</span>      // the complete operation is done. These changes are not yet<a name="line.3244"></a>
-<span class="sourceLineNo">3245</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3245"></a>
-<span class="sourceLineNo">3246</span>      // moved only when the sync is complete.<a name="line.3246"></a>
-<span class="sourceLineNo">3247</span>      // ----------------------------------<a name="line.3247"></a>
-<span class="sourceLineNo">3248</span>      long addedSize = 0;<a name="line.3248"></a>
-<span class="sourceLineNo">3249</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3249"></a>
-<span class="sourceLineNo">3250</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3250"></a>
-<span class="sourceLineNo">3251</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3251"></a>
-<span class="sourceLineNo">3252</span>          continue;<a name="line.3252"></a>
-<span class="sourceLineNo">3253</span>        }<a name="line.3253"></a>
-<span class="sourceLineNo">3254</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3254"></a>
-<span class="sourceLineNo">3255</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3255"></a>
-<span class="sourceLineNo">3256</span>      }<a name="line.3256"></a>
-<span class="sourceLineNo">3257</span><a name="line.3257"></a>
-<span class="sourceLineNo">3258</span>      // -------------------------------<a name="line.3258"></a>
-<span class="sourceLineNo">3259</span>      // STEP 6. Release row locks, etc.<a name="line.3259"></a>
-<span class="sourceLineNo">3260</span>      // -------------------------------<a name="line.3260"></a>
-<span class="sourceLineNo">3261</span>      if (locked) {<a name="line.3261"></a>
-<span class="sourceLineNo">3262</span>        this.updatesLock.readLock().unlock();<a name="line.3262"></a>
-<span class="sourceLineNo">3263</span>        locked = false;<a name="line.3263"></a>
-<span class="sourceLineNo">3264</span>      }<a name="line.3264"></a>
-<span class="sourceLineNo">3265</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3265"></a>
+<span class="sourceLineNo">3225</span>      if (!isInReplay) {<a name="line.3225"></a>
+<span class="sourceLineNo">3226</span>        writeEntry = walKey.getWriteEntry();<a name="line.3226"></a>
+<span class="sourceLineNo">3227</span>        mvccNum = writeEntry.getWriteNumber();<a name="line.3227"></a>
+<span class="sourceLineNo">3228</span>      } else {<a name="line.3228"></a>
+<span class="sourceLineNo">3229</span>        mvccNum = batchOp.getReplaySequenceId();<a name="line.3229"></a>
+<span class="sourceLineNo">3230</span>      }<a name="line.3230"></a>
+<span class="sourceLineNo">3231</span><a name="line.3231"></a>
+<span class="sourceLineNo">3232</span>      // ------------------------------------<a name="line.3232"></a>
+<span class="sourceLineNo">3233</span>      // STEP 5. Write back to memstore<a name="line.3233"></a>
+<span class="sourceLineNo">3234</span>      // Write to memstore. It is ok to write to memstore<a name="line.3234"></a>
+<span class="sourceLineNo">3235</span>      // first without syncing the WAL because we do not roll<a name="line.3235"></a>
+<span class="sourceLineNo">3236</span>      // forward the memstore MVCC. The MVCC will be moved up when<a name="line.3236"></a>
+<span class="sourceLineNo">3237</span>      // the complete operation is done. These changes are not yet<a name="line.3237"></a>
+<span class="sourceLineNo">3238</span>      // visible to scanners till we update the MVCC. The MVCC is<a name="line.3238"></a>
+<span class="sourceLineNo">3239</span>      // moved only when the sync is complete.<a name="line.3239"></a>
+<span class="sourceLineNo">3240</span>      // ----------------------------------<a name="line.3240"></a>
+<span class="sourceLineNo">3241</span>      long addedSize = 0;<a name="line.3241"></a>
+<span class="sourceLineNo">3242</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3242"></a>
+<span class="sourceLineNo">3243</span>        if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3243"></a>
+<span class="sourceLineNo">3244</span>            != OperationStatusCode.NOT_RUN) {<a name="line.3244"></a>
+<span class="sourceLineNo">3245</span>          continue;<a name="line.3245"></a>
+<span class="sourceLineNo">3246</span>        }<a name="line.3246"></a>
+<span class="sourceLineNo">3247</span>        doRollBackMemstore = true; // If we have a failure, we need to clean what we wrote<a name="line.3247"></a>
+<span class="sourceLineNo">3248</span>        addedSize += applyFamilyMapToMemstore(familyMaps[i], mvccNum, isInReplay);<a name="line.3248"></a>
+<span class="sourceLineNo">3249</span>      }<a name="line.3249"></a>
+<span class="sourceLineNo">3250</span><a name="line.3250"></a>
+<span class="sourceLineNo">3251</span>      // -------------------------------<a name="line.3251"></a>
+<span class="sourceLineNo">3252</span>      // STEP 6. Release row locks, etc.<a name="line.3252"></a>
+<span class="sourceLineNo">3253</span>      // -------------------------------<a name="line.3253"></a>
+<span class="sourceLineNo">3254</span>      if (locked) {<a name="line.3254"></a>
+<span class="sourceLineNo">3255</span>        this.updatesLock.readLock().unlock();<a name="line.3255"></a>
+<span class="sourceLineNo">3256</span>        locked = false;<a name="line.3256"></a>
+<span class="sourceLineNo">3257</span>      }<a name="line.3257"></a>
+<span class="sourceLineNo">3258</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3258"></a>
+<span class="sourceLineNo">3259</span><a name="line.3259"></a>
+<span class="sourceLineNo">3260</span>      // -------------------------<a name="line.3260"></a>
+<span class="sourceLineNo">3261</span>      // STEP 7. Sync wal.<a name="line.3261"></a>
+<span class="sourceLineNo">3262</span>      // -------------------------<a name="line.3262"></a>
+<span class="sourceLineNo">3263</span>      if (txid != 0) {<a name="line.3263"></a>
+<span class="sourceLineNo">3264</span>        syncOrDefer(txid, durability);<a name="line.3264"></a>
+<span class="sourceLineNo">3265</span>      }<a name="line.3265"></a>
 <span class="sourceLineNo">3266</span><a name="line.3266"></a>
-<span class="sourceLineNo">3267</span>      // -------------------------<a name="line.3267"></a>
-<span class="sourceLineNo">3268</span>      // STEP 7. Sync wal.<a name="line.3268"></a>
-<span class="sourceLineNo">3269</span>      // -------------------------<a name="line.3269"></a>
-<span class="sourceLineNo">3270</span>      if (txid != 0) {<a name="line.3270"></a>
-<span class="sourceLineNo">3271</span>        syncOrDefer(txid, durability);<a name="line.3271"></a>
-<span class="sourceLineNo">3272</span>      }<a name="line.3272"></a>
-<span class="sourceLineNo">3273</span><a name="line.3273"></a>
-<span class="sourceLineNo">3274</span>      doRollBackMemstore = false;<a name="line.3274"></a>
-<span class="sourceLineNo">3275</span>      // calling the post CP hook for batch mutation<a name="line.3275"></a>
-<span class="sourceLineNo">3276</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3276"></a>
-<span class="sourceLineNo">3277</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3277"></a>
-<span class="sourceLineNo">3278</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3278"></a>
-<span class="sourceLineNo">3279</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3279"></a>
-<span class="sourceLineNo">3280</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3280"></a>
-<span class="sourceLineNo">3281</span>      }<a name="line.3281"></a>
-<span class="sourceLineNo">3282</span><a name="line.3282"></a>
-<span class="sourceLineNo">3283</span>      // ------------------------------------------------------------------<a name="line.3283"></a>
-<span class="sourceLineNo">3284</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3284"></a>
-<span class="sourceLineNo">3285</span>      // ------------------------------------------------------------------<a name="line.3285"></a>
-<span class="sourceLineNo">3286</span>      if (writeEntry != null) {<a name="line.3286"></a>
-<span class="sourceLineNo">3287</span>        mvcc.completeAndWait(writeEntry);<a name="line.3287"></a>
-<span class="sourceLineNo">3288</span>        writeEntry = null;<a name="line.3288"></a>
-<span class="sourceLineNo">3289</span>      } else if (isInReplay) {<a name="line.3289"></a>
-<span class="sourceLineNo">3290</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3290"></a>
-<span class="sourceLineNo">3291</span>        mvcc.advanceTo(mvccNum);<a name="line.3291"></a>
-<span class="sourceLineNo">3292</span>      }<a name="line.3292"></a>
-<span class="sourceLineNo">3293</span><a name="line.3293"></a>
-<span class="sourceLineNo">3294</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3294"></a>
-<span class="sourceLineNo">3295</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3295"></a>
-<span class="sourceLineNo">3296</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3296"></a>
-<span class="sourceLineNo">3297</span>        }<a name="line.3297"></a>
-<span class="sourceLineNo">3298</span>      }<a name="line.3298"></a>
-<span class="sourceLineNo">3299</span><a name="line.3299"></a>
-<span class="sourceLineNo">3300</span>      // ------------------------------------<a name="line.3300"></a>
-<span class="sourceLineNo">3301</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3301"></a>
-<span class="sourceLineNo">3302</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3302"></a>
-<span class="sourceLineNo">3303</span>      // ------------------------------------<a name="line.3303"></a>
-<span class="sourceLineNo">3304</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3304"></a>
-<span class="sourceLineNo">3305</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3305"></a>
-<span class="sourceLineNo">3306</span>          // only for successful puts<a name="line.3306"></a>
-<span class="sourceLineNo">3307</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3307"></a>
-<span class="sourceLineNo">3308</span>              != OperationStatusCode.SUCCESS) {<a name="line.3308"></a>
-<span class="sourceLineNo">3309</span>            continue;<a name="line.3309"></a>
-<span class="sourceLineNo">3310</span>          }<a name="line.3310"></a>
-<span class="sourceLineNo">3311</span>          Mutation m = batchOp.getMutation(i);<a name="line.3311"></a>
-<span class="sourceLineNo">3312</span>          if (m instanceof Put) {<a name="line.3312"></a>
-<span class="sourceLineNo">3313</span>            coprocessorHost.postPut((Put) m, walEdit, m.getDurability());<a name="line.3313"></a>
-<span class="sourceLineNo">3314</span>          } else {<a name="line.3314"></a>
-<span class="sourceLineNo">3315</span>            coprocessorHost.postDelete((Delete) m, walEdit, m.getDurability());<a name="line.3315"></a>
-<span class="sourceLineNo">3316</span>          }<a name="line.3316"></a>
-<span class="sourceLineNo">3317</span>        }<a name="line.3317"></a>
-<span class="sourceLineNo">3318</span>      }<a name="line.3318"></a>
-<span class="sourceLineNo">3319</span><a name="line.3319"></a>
-<span class="sourceLineNo">3320</span>      success = true;<a name="line.3320"></a>
-<span class="sourceLineNo">3321</span>      return addedSize;<a name="line.3321"></a>
-<span class="sourceLineNo">3322</span>    } finally {<a name="line.3322"></a>
-<span class="sourceLineNo">3323</span>      // if the wal sync was unsuccessful, remove keys from memstore<a name="line.3323"></a>
-<span class="sourceLineNo">3324</span>      if (doRollBackMemstore) {<a name="line.3324"></a>
-<span class="sourceLineNo">3325</span>        for (int j = 0; j &lt; familyMaps.length; j++) {<a name="line.3325"></a>
-<span class="sourceLineNo">3326</span>          for(List&lt;Cell&gt; cells:familyMaps[j].values()) {<a name="line.3326"></a>
-<span class="sourceLineNo">3327</span>            rollbackMemstore(cells);<a name="line.3327"></a>
-<span class="sourceLineNo">3328</span>          }<a name="line.3328"></a>
-<span class="sourceLineNo">3329</span>        }<a name="line.3329"></a>
-<span class="sourceLineNo">3330</span>        if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.3330"></a>
-<span class="sourceLineNo">3331</span>      } else if (writeEntry != null) {<a name="line.3331"></a>
-<span class="sourceLineNo">3332</span>        mvcc.completeAndWait(writeEntry);<a name="line.3332"></a>
-<span class="sourceLineNo">3333</span>      }<a name="line.3333"></a>
-<span class="sourceLineNo">3334</span><a name="line.3334"></a>
-<span class="sourceLineNo">3335</span>      if (locked) {<a name="line.3335"></a>
-<span class="sourceLineNo">3336</span>        this.updatesLock.readLock().unlock();<a name="line.3336"></a>
-<span class="sourceLineNo">3337</span>      }<a name="line.3337"></a>
-<span class="sourceLineNo">3338</span>      releaseRowLocks(acquiredRowLocks);<a name="line.3338"></a>
-<span class="sourceLineNo">3339</span><a name="line.3339"></a>
-<span class="sourceLineNo">3340</span>      // See if the column families were consistent through the whole thing.<a name="line.3340"></a>
-<span class="sourceLineNo">3341</span>      // if they were then keep them. If they were not then pass a null.<a name="line.3341"></a>
-<span class="sourceLineNo">3342</span>      // null will be treated as unknown.<a name="line.3342"></a>
-<span class="sourceLineNo">3343</span>      // Total time taken might be involving Puts and Deletes.<a name="line.3343"></a>
-<span class="sourceLineNo">3344</span>      // Split the time for puts and deletes based on the total number of Puts and Deletes.<a name="line.3344"></a>
-<span class="sourceLineNo">3345</span><a name="line.3345"></a>
-<span class="sourceLineNo">3346</span>      if (noOfPuts &gt; 0) {<a name="line.3346"></a>
-<span class="sourceLineNo">3347</span>        // There were some Puts in the batch.<a name="line.3347"></a>
-<span class="sourceLineNo">3348</span>        if (this.metricsRegion != null) {<a name="line.3348"></a>
-<span class="sourceLineNo">3349</span>          this.metricsRegion.updatePut();<a name="line.3349"></a>
-<span class="sourceLineNo">3350</span>        }<a name="line.3350"></a>
-<span class="sourceLineNo">3351</span>      }<a name="line.3351"></a>
-<span class="sourceLineNo">3352</span>      if (noOfDeletes &gt; 0) {<a name="line.3352"></a>
-<span class="sourceLineNo">3353</span>        // There were some Deletes in the batch.<a name="line.3353"></a>
-<span class="sourceLineNo">3354</span>        if (this.metricsRegion != null) {<a name="line.3354"></a>
-<span class="sourceLineNo">3355</span>          this.metricsRegion.updateDelete();<a name="line.3355"></a>
+<span class="sourceLineNo">3267</span>      doRollBackMemstore = false;<a name="line.3267"></a>
+<span class="sourceLineNo">3268</span>      // calling the post CP hook for batch mutation<a name="line.3268"></a>
+<span class="sourceLineNo">3269</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3269"></a>
+<span class="sourceLineNo">3270</span>        MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp =<a name="line.3270"></a>
+<span class="sourceLineNo">3271</span>          new MiniBatchOperationInProgress&lt;Mutation&gt;(batchOp.getMutationsForCoprocs(),<a name="line.3271"></a>
+<span class="sourceLineNo">3272</span>          batchOp.retCodeDetails, batchOp.walEditsFromCoprocessors, firstIndex, lastIndexExclusive);<a name="line.3272"></a>
+<span class="sourceLineNo">3273</span>        coprocessorHost.postBatchMutate(miniBatchOp);<a name="line.3273"></a>
+<span class="sourceLineNo">3274</span>      }<a name="line.3274"></a>
+<span class="sourceLineNo">3275</span><a name="line.3275"></a>
+<span class="sourceLineNo">3276</span>      // ------------------------------------------------------------------<a name="line.3276"></a>
+<span class="sourceLineNo">3277</span>      // STEP 8. Advance mvcc. This will make this put visible to scanners and getters.<a name="line.3277"></a>
+<span class="sourceLineNo">3278</span>      // ------------------------------------------------------------------<a name="line.3278"></a>
+<span class="sourceLineNo">3279</span>      if (writeEntry != null) {<a name="line.3279"></a>
+<span class="sourceLineNo">3280</span>        mvcc.completeAndWait(writeEntry);<a name="line.3280"></a>
+<span class="sourceLineNo">3281</span>        writeEntry = null;<a name="line.3281"></a>
+<span class="sourceLineNo">3282</span>      } else if (isInReplay) {<a name="line.3282"></a>
+<span class="sourceLineNo">3283</span>        // ensure that the sequence id of the region is at least as big as orig log seq id<a name="line.3283"></a>
+<span class="sourceLineNo">3284</span>        mvcc.advanceTo(mvccNum);<a name="line.3284"></a>
+<span class="sourceLineNo">3285</span>      }<a name="line.3285"></a>
+<span class="sourceLineNo">3286</span><a name="line.3286"></a>
+<span class="sourceLineNo">3287</span>      for (int i = firstIndex; i &lt; lastIndexExclusive; i ++) {<a name="line.3287"></a>
+<span class="sourceLineNo">3288</span>        if (batchOp.retCodeDetails[i] == OperationStatus.NOT_RUN) {<a name="line.3288"></a>
+<span class="sourceLineNo">3289</span>          batchOp.retCodeDetails[i] = OperationStatus.SUCCESS;<a name="line.3289"></a>
+<span class="sourceLineNo">3290</span>        }<a name="line.3290"></a>
+<span class="sourceLineNo">3291</span>      }<a name="line.3291"></a>
+<span class="sourceLineNo">3292</span><a name="line.3292"></a>
+<span class="sourceLineNo">3293</span>      // ------------------------------------<a name="line.3293"></a>
+<span class="sourceLineNo">3294</span>      // STEP 9. Run coprocessor post hooks. This should be done after the wal is<a name="line.3294"></a>
+<span class="sourceLineNo">3295</span>      // synced so that the coprocessor contract is adhered to.<a name="line.3295"></a>
+<span class="sourceLineNo">3296</span>      // ------------------------------------<a name="line.3296"></a>
+<span class="sourceLineNo">3297</span>      if (!isInReplay &amp;&amp; coprocessorHost != null) {<a name="line.3297"></a>
+<span class="sourceLineNo">3298</span>        for (int i = firstIndex; i &lt; lastIndexExclusive; i++) {<a name="line.3298"></a>
+<span class="sourceLineNo">3299</span>          // only for successful puts<a name="line.3299"></a>
+<span class="sourceLineNo">3300</span>          if (batchOp.retCodeDetails[i].getOperationStatusCode()<a name="line.3300"></a>
+<span class="sourceLineNo">3301</span>              != OperationStatusCode.SUCCESS) {<a name="line.3301"></a>
+<span class="sourceLineNo">3302</span>            continue;<a name="line.3302"></a>
+<span class="sourceLineNo">3303</span>          }<a name="line.3303"></a>
+<span class="sourceLineNo">3304</span>          Mutation m = batchOp.getMutation(i);<a name="line.3304"></a>
+<span class="sourceLineNo">3305</span>          if (m instanceof Put) {<a name="line.3305"></a>
+<span class=

<TRUNCATED>

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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
index 575c96c..eff8e45 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1392">PerformanceEvaluation.RandomWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1417">PerformanceEvaluation.RandomWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></pre>
 </li>
 </ul>
@@ -187,7 +187,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -216,7 +216,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RandomWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1393">PerformanceEvaluation.RandomWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1418">PerformanceEvaluation.RandomWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                      <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -235,7 +235,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1398">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RandomWriteTest.html#line.1423">testRow</a>(int&nbsp;i)
        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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
index 0fe5e49..d5fa7cb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.182">PerformanceEvaluation.RunResult</a>
+<pre>protected static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.197">PerformanceEvaluation.RunResult</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/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&gt;</pre>
 </li>
@@ -201,7 +201,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockList">
 <li class="blockList">
 <h4>duration</h4>
-<pre>public final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.188">duration</a></pre>
+<pre>public final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.203">duration</a></pre>
 </li>
 </ul>
 <a name="hist">
@@ -210,7 +210,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>hist</h4>
-<pre>public final&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.189">hist</a></pre>
+<pre>public final&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.204">hist</a></pre>
 </li>
 </ul>
 </li>
@@ -227,7 +227,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.RunResult</h4>
-<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.183">PerformanceEvaluation.RunResult</a>(long&nbsp;duration,
+<pre>public&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.198">PerformanceEvaluation.RunResult</a>(long&nbsp;duration,
                                com.codahale.metrics.Histogram&nbsp;hist)</pre>
 </li>
 </ul>
@@ -245,7 +245,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <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/PerformanceEvaluation.RunResult.html#line.192">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/PerformanceEvaluation.RunResult.html#line.207">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>
@@ -258,7 +258,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Comparabl
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compareTo</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.196">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&nbsp;o)</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html#line.211">compareTo</a>(<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</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/PerformanceEvaluation.RunResult.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RunResult</a>&gt;</code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
index 5d3dc38..e52f7ba 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1425">PerformanceEvaluation.ScanTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1450">PerformanceEvaluation.ScanTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -202,7 +202,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -231,7 +231,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testScanner</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1426">testScanner</a></pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.client.ResultScanner <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1451">testScanner</a></pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.ScanTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1428">PerformanceEvaluation.ScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1453">PerformanceEvaluation.ScanTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                               <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -267,7 +267,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockList">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1433">testTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1458">testTakedown</a>()
             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
@@ -282,7 +282,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1442">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html#line.1467">testRow</a>(int&nbsp;i)
        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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
index be3131a..90abdae 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1462">PerformanceEvaluation.SequentialReadTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1596">PerformanceEvaluation.SequentialReadTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TableTest</a></pre>
 </li>
 </ul>
@@ -187,7 +187,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -216,7 +216,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.SequentialReadTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.1463">PerformanceEvaluation.SequentialReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.1597">PerformanceEvaluation.SequentialReadTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                         <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -235,7 +235,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Table
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.1468">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html#line.1602">testRow</a>(int&nbsp;i)
        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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
index e1e36ec..832c428 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html
@@ -109,7 +109,7 @@
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1480">PerformanceEvaluation.SequentialWriteTest</a>
+<pre>static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1614">PerformanceEvaluation.SequentialWriteTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.BufferedMutatorTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.BufferedMutatorTest</a></pre>
 </li>
 </ul>
@@ -187,7 +187,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -216,7 +216,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.SequentialWriteTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.1481">PerformanceEvaluation.SequentialWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.1615">PerformanceEvaluation.SequentialWriteTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                          <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -235,7 +235,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Buffe
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.1486">testRow</a>(int&nbsp;i)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.SequentialWriteTest.html#line.1620">testRow</a>(int&nbsp;i)
        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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
index 6aa76ca..4fa9ed9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html
@@ -91,7 +91,7 @@
 </dl>
 <hr>
 <br>
-<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.218">PerformanceEvaluation.Status</a></pre>
+<pre>static interface <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.233">PerformanceEvaluation.Status</a></pre>
 <div class="block">Implementations can have their status set.</div>
 </li>
 </ul>
@@ -138,7 +138,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setStatus</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html#line.224">setStatus</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>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Status.html#line.239">setStatus</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>
 <div class="block">Sets status</div>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - status message</dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
index 1fe27a7..90bae88 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html
@@ -100,7 +100,7 @@
 <li class="blockList">
 <dl>
 <dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.FilteredScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomReadTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomSeekScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.ScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html" title="class in org.apache.h
 adoop.hbase">PerformanceEvaluation.SequentialReadTest</a></dd>
+<dd><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.CASTableTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.CASTableTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.FilteredScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.FilteredScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomReadTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomReadTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomScanWithRangeTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomScanWithRangeTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.RandomSeekScanTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.RandomSeekScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.ScanTest.html" title="class in org.apache.had
 oop.hbase">PerformanceEvaluation.ScanTest</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.SequentialReadTest.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.SequentialReadTest</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1170">PerformanceEvaluation.TableTest</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.1195">PerformanceEvaluation.TableTest</a>
 extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></pre>
 </li>
 </ul>
@@ -187,7 +187,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.Test</a></h3>
-<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
+<code><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#generateStatus(int,%20int,%20int)">generateStatus</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a>, <a href="../../../..
 /org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#isRandomValueSize()">isRandomValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#test()">test</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testRow(int)">testRow</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testSetup()">testSetup</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTakedown()">testTakedown</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#testTimed()">testTimed</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(int)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apache.hadoop.hbase.client.Result)">updateValueSize</a>, <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#updateValueSize(org.apach
 e.hadoop.hbase.client.Result[])">updateValueSize</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
@@ -216,7 +216,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>table</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1171">table</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Table <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1196">table</a></pre>
 </li>
 </ul>
 </li>
@@ -233,7 +233,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.TableTest</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1173">PerformanceEvaluation.TableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1198">PerformanceEvaluation.TableTest</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                                <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 </li>
@@ -252,7 +252,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1178">onStartup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1203">onStartup</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>
@@ -267,7 +267,7 @@ extends <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1183">onTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.TableTest.html#line.1208">onTakedown</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
index d1272e2..f06e6c7 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.956">PerformanceEvaluation.Test</a>
+<pre>abstract static class <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.html#line.971">PerformanceEvaluation.Test</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,23 +219,31 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
                             int&nbsp;lr)</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/PerformanceEvaluation.Test.html#getLastRow()">getLastRow</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>com.codahale.metrics.Histogram</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getLatency()">getLatency</a></strong>()</code>
 <div class="block">Populated by testTakedown.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getReportingPeriod()">getReportingPeriod</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/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/PerformanceEvaluation.Test.html#getShortLatencyReport()">getShortLatencyReport</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/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/PerformanceEvaluation.Test.html#getShortValueSizeReport()">getShortValueSizeReport</a></strong>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) int</code></td>
+<td class="colLast"><code><strong><a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#getStartRow()">getStartRow</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/PerformanceEvaluation.Test.html#getValueLength(java.util.Random)">getValueLength</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r)</code>&nbsp;</td>
@@ -332,7 +340,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>randomSeed</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.959">randomSeed</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.974">randomSeed</a></pre>
 </li>
 </ul>
 <a name="everyN">
@@ -341,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>everyN</h4>
-<pre>private final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.964">everyN</a></pre>
+<pre>private final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.979">everyN</a></pre>
 </li>
 </ul>
 <a name="rand">
@@ -350,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>rand</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.966">rand</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.981">rand</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -359,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>conf</h4>
-<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.967">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.982">conf</a></pre>
 </li>
 </ul>
 <a name="opts">
@@ -368,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>opts</h4>
-<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.968">opts</a></pre>
+<pre>protected final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.983">opts</a></pre>
 </li>
 </ul>
 <a name="status">
@@ -377,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>status</h4>
-<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.970">status</a></pre>
+<pre>private final&nbsp;<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.985">status</a></pre>
 </li>
 </ul>
 <a name="traceSampler">
@@ -386,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>traceSampler</h4>
-<pre>private final&nbsp;org.apache.htrace.Sampler&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.971">traceSampler</a></pre>
+<pre>private final&nbsp;org.apache.htrace.Sampler&lt;?&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.986">traceSampler</a></pre>
 </li>
 </ul>
 <a name="receiverHost">
@@ -395,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>receiverHost</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.trace.SpanReceiverHost <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.972">receiverHost</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.trace.SpanReceiverHost <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.987">receiverHost</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -404,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>connection</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.client.Connection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.973">connection</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.client.Connection <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.988">connection</a></pre>
 </li>
 </ul>
 <a name="testName">
@@ -413,7 +421,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testName</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/PerformanceEvaluation.Test.html#line.976">testName</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.991">testName</a></pre>
 </li>
 </ul>
 <a name="latency">
@@ -422,7 +430,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>latency</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.977">latency</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.992">latency</a></pre>
 </li>
 </ul>
 <a name="valueSize">
@@ -431,7 +439,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>valueSize</h4>
-<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.978">valueSize</a></pre>
+<pre>private&nbsp;com.codahale.metrics.Histogram <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.993">valueSize</a></pre>
 </li>
 </ul>
 <a name="zipf">
@@ -440,7 +448,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>zipf</h4>
-<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/io/hfile/RandomDistribution.Zipf.html" title="class in org.apache.hadoop.hbase.io.hfile">RandomDistribution.Zipf</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.979">zipf</a></pre>
+<pre>private&nbsp;<a href="../../../../org/apache/hadoop/hbase/io/hfile/RandomDistribution.Zipf.html" title="class in org.apache.hadoop.hbase.io.hfile">RandomDistribution.Zipf</a> <a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.994">zipf</a></pre>
 </li>
 </ul>
 </li>
@@ -457,7 +465,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PerformanceEvaluation.Test</h4>
-<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.985">PerformanceEvaluation.Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
+<pre><a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1000">PerformanceEvaluation.Test</a>(org.apache.hadoop.hbase.client.Connection&nbsp;con,
                           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.TestOptions.html" title="class in org.apache.hadoop.hbase">PerformanceEvaluation.TestOptions</a>&nbsp;options,
                           <a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Status.html" title="interface in org.apache.hadoop.hbase">PerformanceEvaluation.Status</a>&nbsp;status)</pre>
 <div class="block">Note that all subclasses of this class must provide a public constructor
@@ -478,7 +486,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextRandomSeed</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.961">nextRandomSeed</a>()</pre>
+<pre>private static&nbsp;long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.976">nextRandomSeed</a>()</pre>
 </li>
 </ul>
 <a name="getValueLength(java.util.Random)">
@@ -487,7 +495,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getValueLength</h4>
-<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1007">getValueLength</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r)</pre>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1022">getValueLength</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a>&nbsp;r)</pre>
 </li>
 </ul>
 <a name="updateValueSize(org.apache.hadoop.hbase.client.Result[])">
@@ -496,7 +504,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1013">updateValueSize</a>(org.apache.hadoop.hbase.client.Result[]&nbsp;rs)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1028">updateValueSize</a>(org.apache.hadoop.hbase.client.Result[]&nbsp;rs)
                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>
@@ -508,7 +516,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1018">updateValueSize</a>(org.apache.hadoop.hbase.client.Result&nbsp;r)
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1033">updateValueSize</a>(org.apache.hadoop.hbase.client.Result&nbsp;r)
                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>
@@ -520,7 +528,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateValueSize</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1027">updateValueSize</a>(int&nbsp;valueSize)</pre>
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1042">updateValueSize</a>(int&nbsp;valueSize)</pre>
 </li>
 </ul>
 <a name="generateStatus(int, int, int)">
@@ -529,7 +537,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>generateStatus</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1032">generateStatus</a>(int&nbsp;sr,
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1047">generateStatus</a>(int&nbsp;sr,
                     int&nbsp;i,
                     int&nbsp;lr)</pre>
 </li>
@@ -540,7 +548,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isRandomValueSize</h4>
-<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1037">isRandomValueSize</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1052">isRandomValueSize</a>()</pre>
 </li>
 </ul>
 <a name="getReportingPeriod()">
@@ -549,7 +557,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getReportingPeriod</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1041">getReportingPeriod</a>()</pre>
+<pre>protected&nbsp;int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1056">getReportingPeriod</a>()</pre>
 </li>
 </ul>
 <a name="getLatency()">
@@ -558,7 +566,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getLatency</h4>
-<pre>public&nbsp;com.codahale.metrics.Histogram&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1048">getLatency</a>()</pre>
+<pre>public&nbsp;com.codahale.metrics.Histogram&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1063">getLatency</a>()</pre>
 <div class="block">Populated by testTakedown. Only implemented by RandomReadTest at the moment.</div>
 </li>
 </ul>
@@ -568,7 +576,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSetup</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1052">testSetup</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1067">testSetup</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>
@@ -580,7 +588,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onStartup</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1061">onStartup</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1076">onStartup</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>
@@ -592,7 +600,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testTakedown</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1063">testTakedown</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1078">testTakedown</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>
@@ -604,7 +612,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>onTakedown</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1073">onTakedown</a>()
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1088">onTakedown</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>
@@ -616,7 +624,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>test</h4>
-<pre>long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1080">test</a>()
+<pre>long&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1095">test</a>()
     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
            <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -624,13 +632,31 @@ 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/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd></dl>
 </li>
 </ul>
+<a name="getStartRow()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStartRow</h4>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1107">getStartRow</a>()</pre>
+</li>
+</ul>
+<a name="getLastRow()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastRow</h4>
+<pre>int&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1111">getLastRow</a>()</pre>
+</li>
+</ul>
 <a name="testTimed()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>testTimed</h4>
-<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1095">testTimed</a>()
+<pre>void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1118">testTimed</a>()
          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                 <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Provides an extension point for tests that don't want a per row invocation.</div>
@@ -645,7 +671,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reportLatency</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1122">reportLatency</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1147">reportLatency</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">report percentiles of latency</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -658,7 +684,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reportValueSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1128">reportValueSize</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1153">reportValueSize</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>
@@ -670,7 +696,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>reportHistogram</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1134">reportHistogram</a>(com.codahale.metrics.Histogram&nbsp;h)
+<pre>private&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1159">reportHistogram</a>(com.codahale.metrics.Histogram&nbsp;h)
                       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>
@@ -682,7 +708,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortLatencyReport</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/PerformanceEvaluation.Test.html#line.1152">getShortLatencyReport</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/PerformanceEvaluation.Test.html#line.1177">getShortLatencyReport</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Subset of the histograms' calculation.</dd></dl>
 </li>
 </ul>
@@ -692,7 +718,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getShortValueSizeReport</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/PerformanceEvaluation.Test.html#line.1159">getShortValueSizeReport</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/PerformanceEvaluation.Test.html#line.1184">getShortValueSizeReport</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Subset of the histograms' calculation.</dd></dl>
 </li>
 </ul>
@@ -702,7 +728,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testRow</h4>
-<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1167">testRow</a>(int&nbsp;i)
+<pre>abstract&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/PerformanceEvaluation.Test.html#line.1192">testRow</a>(int&nbsp;i)
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/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 3b498d7..c6f2f44 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 = "format", type = "String"),<a name="line.62"></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 = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></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">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">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,23 +116,23 @@
 <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>    // 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">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">113</span>    {<a name="line.113"></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">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">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></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">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">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></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">130</span>    {<a name="line.130"></a>
@@ -150,125 +150,125 @@
 <span class="sourceLineNo">142</span>      return m_serverManager__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>    // 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">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">147</span>    {<a name="line.147"></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">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">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></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">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">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 24, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.163"></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">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 24, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_deadServers = deadServers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_deadServers__IsNotDefault = true;<a name="line.167"></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">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_deadServers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getDeadServers__IsNotDefault()<a name="line.174"></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">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_deadServers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_deadServers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">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">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 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">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private 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">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_metaLocation__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>
-<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 26, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_filter = filter;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_filter__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public String getFilter()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_filter;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private String m_filter;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getFilter__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
+<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_metaLocation__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
+<span class="sourceLineNo">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">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">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">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">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">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 26, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFilter(String filter)<a name="line.231"></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">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 26, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_filter = filter;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_filter__IsNotDefault = true;<a name="line.235"></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">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFilter()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_filter;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_filter;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFilter__IsNotDefault()<a name="line.242"></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">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_filter__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_filter__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></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">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></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">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></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">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__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,10 +280,10 @@
 <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 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">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">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<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>
@@ -294,52 +294,52 @@
 <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 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">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">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.297"></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">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<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 boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected 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">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected String filter;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setFilter(p_filter);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
+<span class="sourceLineNo">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">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<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 filter;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.325"></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">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFilter(p_filter);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<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 List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></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">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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/670bf1f0/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 3b498d7..c6f2f44 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 = "format", type = "String"),<a name="line.62"></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 = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.70"></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">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">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,23 +116,23 @@
 <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>    // 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">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">113</span>    {<a name="line.113"></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">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">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public String getFormat()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></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">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">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_format__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_format__IsNotDefault;<a name="line.127"></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">130</span>    {<a name="line.130"></a>
@@ -150,125 +150,125 @@
 <span class="sourceLineNo">142</span>      return m_serverManager__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>    // 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">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">147</span>    {<a name="line.147"></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">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">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_frags;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></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">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">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_frags__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_frags__IsNotDefault;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // 24, 1<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.163"></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">164</span>    {<a name="line.164"></a>
-<span class="sourceLineNo">165</span>      // 24, 1<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      m_deadServers = deadServers;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      m_deadServers__IsNotDefault = true;<a name="line.167"></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">168</span>    }<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.169"></a>
+<span class="sourceLineNo">169</span>    public List&lt;ServerName&gt; getServers()<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      return m_deadServers;<a name="line.171"></a>
+<span class="sourceLineNo">171</span>      return m_servers;<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    }<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    public boolean getDeadServers__IsNotDefault()<a name="line.174"></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">175</span>    {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return m_deadServers__IsNotDefault;<a name="line.176"></a>
+<span class="sourceLineNo">176</span>      return m_servers__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    private boolean m_deadServers__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">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">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 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">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public ServerName getMetaLocation()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_metaLocation;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private 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">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_metaLocation__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_metaLocation__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>
-<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 26, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_filter = filter;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_filter__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public String getFilter()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_filter;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private String m_filter;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getFilter__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
+<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_metaLocation__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
+<span class="sourceLineNo">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">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">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">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_deadServers;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">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">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_deadServers__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    // 26, 1<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    public void setFilter(String filter)<a name="line.231"></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">232</span>    {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      // 26, 1<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      m_filter = filter;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      m_filter__IsNotDefault = true;<a name="line.235"></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">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public String getFilter()<a name="line.237"></a>
+<span class="sourceLineNo">237</span>    public String getFormat()<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return m_filter;<a name="line.239"></a>
+<span class="sourceLineNo">239</span>      return m_format;<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    private String m_filter;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    public boolean getFilter__IsNotDefault()<a name="line.242"></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">243</span>    {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      return m_filter__IsNotDefault;<a name="line.244"></a>
+<span class="sourceLineNo">244</span>      return m_format__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    private boolean m_filter__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 23, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.248"></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">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 23, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_servers = servers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_servers__IsNotDefault = true;<a name="line.252"></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">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public List&lt;ServerName&gt; getServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public boolean getCatalogJanitorEnabled()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_servers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_catalogJanitorEnabled;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private List&lt;ServerName&gt; m_servers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getServers__IsNotDefault()<a name="line.259"></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">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_servers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_catalogJanitorEnabled__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,10 +280,10 @@
 <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 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">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">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFormat(p_format);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<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>
@@ -294,52 +294,52 @@
 <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 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">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">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setFrags(p_frags);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.297"></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">298</span>  {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.299"></a>
+<span class="sourceLineNo">299</span>    (getImplData()).setServers(p_servers);<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 boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected 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">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected String filter;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setFilter(p_filter);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>  }<a name="line.315"></a>
 <span class="sourceLineNo">316</span>  <a name="line.316"></a>
-<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
+<span class="sourceLineNo">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">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setDeadServers(p_deadServers);<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 filter;<a name="line.324"></a>
-<span class="sourceLineNo">325</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.325"></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">326</span>  {<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    (getImplData()).setFilter(p_filter);<a name="line.327"></a>
+<span class="sourceLineNo">327</span>    (getImplData()).setFormat(p_format);<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 List&lt;ServerName&gt; servers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.332"></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">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setServers(p_servers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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>


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

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 32503b8..924ef4d 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/modules.html
----------------------------------------------------------------------
diff --git a/modules.html b/modules.html
index 26d9aa0..442e6d6 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index befeffc..48966f3 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 3d14983..b3c5bf2 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 0b5c96e..b02a14b 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index e0e17ea..411ab87 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 2d13a68..d39fbef 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index f4df13c..888644d 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 1086d7a..f436aa7 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 66e0680..f517093 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 348a86b..68ea30b 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="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <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-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index e7bb30a..96608d3 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -324,7 +324,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>
 

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/670bf1f0/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index bfb37c9..df5b282 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20160205" />
+    <meta name="Date-Revision-yyyymmdd" content="20160207" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Team list</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -785,7 +785,7 @@ window.onLoad = init();
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-02-05</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-02-07</li>
             </p>
                 </div>