You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2019/09/23 14:51:47 UTC

[hbase-site] branch asf-site updated: Published site at 56489819bc835c9231053b550215f139c9da648e.

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hbase-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8dc705f  Published site at 56489819bc835c9231053b550215f139c9da648e.
8dc705f is described below

commit 8dc705f156af8314fab0e964638ccba4ab555905
Author: jenkins <bu...@apache.org>
AuthorDate: Mon Sep 23 14:51:30 2019 +0000

    Published site at 56489819bc835c9231053b550215f139c9da648e.
---
 acid-semantics.html                                |    2 +-
 apache_hbase_reference_guide.pdf                   |    4 +-
 book.html                                          |    2 +-
 bulk-loads.html                                    |    2 +-
 checkstyle-aggregate.html                          |  304 +-
 checkstyle.rss                                     |   30 +-
 coc.html                                           |    2 +-
 dependencies.html                                  |    2 +-
 dependency-convergence.html                        |    2 +-
 dependency-info.html                               |    2 +-
 dependency-management.html                         |    8 +-
 devapidocs/allclasses-frame.html                   |    3 +
 devapidocs/allclasses-noframe.html                 |    3 +
 devapidocs/constant-values.html                    |   30 +-
 devapidocs/index-all.html                          |   87 +
 .../apache/hadoop/hbase/backup/package-tree.html   |    4 +-
 .../apache/hadoop/hbase/class-use/TableName.html   |   99 +-
 .../apache/hadoop/hbase/client/package-tree.html   |   20 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |    6 +-
 .../hadoop/hbase/hbtop/field/package-tree.html     |    2 +-
 .../hadoop/hbase/hbtop/terminal/package-tree.html  |    2 +-
 .../org/apache/hadoop/hbase/http/package-tree.html |    4 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |    4 +-
 .../org/apache/hadoop/hbase/ipc/package-tree.html  |    2 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |    2 +-
 .../hbase/master/assignment/package-tree.html      |    2 +-
 .../hadoop/hbase/master/balancer/package-tree.html |    2 +-
 .../apache/hadoop/hbase/master/package-tree.html   |    4 +-
 .../hbase/master/procedure/package-tree.html       |    2 +-
 .../hadoop/hbase/metrics/class-use/Meter.html      |   16 +
 .../hbase/metrics/class-use/MetricRegistry.html    |   23 +-
 .../org/apache/hadoop/hbase/package-tree.html      |   18 +-
 .../hadoop/hbase/procedure2/package-tree.html      |    6 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |    6 +-
 .../regionserver/HRegion.BulkLoadListener.html     |    8 +-
 .../regionserver/HRegion.RegionScannerImpl.html    |   90 +-
 .../hbase/regionserver/HRegion.RowLockContext.html |   28 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html    |   16 +-
 .../apache/hadoop/hbase/regionserver/HRegion.html  |  330 +-
 .../hbase/regionserver/MetricsRegionServer.html    |  164 +-
 .../MetricsTableLatenciesImpl.TableHistograms.html |   44 +-
 .../regionserver/MetricsTableLatenciesImpl.html    |   77 +-
 ...adListener.html => MetricsTableQueryMeter.html} |  133 +-
 ...=> MetricsTableQueryMeterImpl.TableMeters.html} |  125 +-
 .../regionserver/MetricsTableQueryMeterImpl.html   |  495 ++
 .../hbase/regionserver/MetricsTableSource.html     |    4 +-
 .../regionserver/RegionServerTableMetrics.html     |   99 +-
 .../class-use/MetricsTableQueryMeter.html          |  181 +
 .../MetricsTableQueryMeterImpl.TableMeters.html    |  178 +
 .../class-use/MetricsTableQueryMeterImpl.html      |  125 +
 .../hadoop/hbase/regionserver/package-frame.html   |    3 +
 .../hadoop/hbase/regionserver/package-summary.html |   63 +-
 .../hadoop/hbase/regionserver/package-tree.html    |   23 +-
 .../hadoop/hbase/regionserver/package-use.html     |    8 +
 .../regionserver/querymatcher/package-tree.html    |    2 +-
 .../hbase/regionserver/wal/package-tree.html       |    4 +-
 .../hadoop/hbase/security/access/package-tree.html |    8 +-
 .../apache/hadoop/hbase/security/package-tree.html |    2 +-
 .../apache/hadoop/hbase/thrift/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |    8 +-
 .../org/apache/hadoop/hbase/wal/package-tree.html  |    2 +-
 devapidocs/overview-tree.html                      |    3 +
 .../src-html/org/apache/hadoop/hbase/Version.html  |    4 +-
 .../HRegion.BatchOperation.Visitor.html            | 9380 ++++++++++----------
 .../hbase/regionserver/HRegion.BatchOperation.html | 9380 ++++++++++----------
 .../regionserver/HRegion.BulkLoadListener.html     | 9380 ++++++++++----------
 .../regionserver/HRegion.FlushResult.Result.html   | 9380 ++++++++++----------
 .../hbase/regionserver/HRegion.FlushResult.html    | 9380 ++++++++++----------
 .../regionserver/HRegion.FlushResultImpl.html      | 9380 ++++++++++----------
 .../HRegion.MutationBatchOperation.html            | 9380 ++++++++++----------
 .../HRegion.ObservedExceptionsInBatch.html         | 9380 ++++++++++----------
 .../regionserver/HRegion.PrepareFlushResult.html   | 9380 ++++++++++----------
 .../regionserver/HRegion.RegionScannerImpl.html    | 9380 ++++++++++----------
 .../regionserver/HRegion.ReplayBatchOperation.html | 9380 ++++++++++----------
 .../hbase/regionserver/HRegion.RowLockContext.html | 9380 ++++++++++----------
 .../hbase/regionserver/HRegion.RowLockImpl.html    | 9380 ++++++++++----------
 .../hbase/regionserver/HRegion.WriteState.html     | 9380 ++++++++++----------
 .../apache/hadoop/hbase/regionserver/HRegion.html  | 9380 ++++++++++----------
 .../hbase/regionserver/MetricsRegionServer.html    |  483 +-
 .../MetricsTableLatenciesImpl.TableHistograms.html |  313 +-
 .../regionserver/MetricsTableLatenciesImpl.html    |  313 +-
 .../hbase/regionserver/MetricsTableQueryMeter.html |  125 +
 .../MetricsTableQueryMeterImpl.TableMeters.html    |  174 +
 .../regionserver/MetricsTableQueryMeterImpl.html   |  174 +
 .../regionserver/RegionServerTableMetrics.html     |   88 +-
 downloads.html                                     |    2 +-
 export_control.html                                |    2 +-
 index.html                                         |    2 +-
 issue-tracking.html                                |    2 +-
 mail-lists.html                                    |    2 +-
 metrics.html                                       |    2 +-
 old_news.html                                      |    2 +-
 plugin-management.html                             |    2 +-
 plugins.html                                       |    2 +-
 poweredbyhbase.html                                |    2 +-
 project-info.html                                  |    2 +-
 project-reports.html                               |    2 +-
 project-summary.html                               |    2 +-
 pseudo-distributed.html                            |    2 +-
 replication.html                                   |    2 +-
 resources.html                                     |    2 +-
 source-repository.html                             |    2 +-
 sponsors.html                                      |    2 +-
 supportingprojects.html                            |    2 +-
 team-list.html                                     |    2 +-
 105 files changed, 73791 insertions(+), 71555 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 3c3c918..c4bb380 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -450,7 +450,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 02763d0..5c39e00 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.15, based on Prawn 2.2.2)
 /Producer (Apache HBase Team)
-/ModDate (D:20190922143854+00'00')
-/CreationDate (D:20190922143854+00'00')
+/ModDate (D:20190923144624+00'00')
+/CreationDate (D:20190923144624+00'00')
 >>
 endobj
 2 0 obj
diff --git a/book.html b/book.html
index 2e59e7e..f3f13f4 100644
--- a/book.html
+++ b/book.html
@@ -43161,7 +43161,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2019-09-22 14:29:54 UTC
+Last updated 2019-09-23 14:30:07 UTC
 </div>
 </div>
 </body>
diff --git a/bulk-loads.html b/bulk-loads.html
index abc4db7..b569c4d 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -155,7 +155,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index ff5781f..1abe545 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -149,7 +149,7 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>4022</td>
+<td>4024</td>
 <td>0</td>
 <td>0</td>
 <td>11703</td></tr></table></div>
@@ -58732,889 +58732,889 @@
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>4158</td></tr>
+<td>4162</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>4208</td></tr>
+<td>4212</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>4305</td></tr>
+<td>4309</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>4381</td></tr>
+<td>4385</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>4391</td></tr>
+<td>4395</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>4392</td></tr>
+<td>4396</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>4397</td></tr>
+<td>4401</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>4441</td></tr>
+<td>4445</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' has incorrect indentation level 3, expected level should be 4.</td>
-<td>4475</td></tr>
+<td>4479</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 has incorrect indentation level 5, expected level should be 6.</td>
-<td>4476</td></tr>
+<td>4480</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>4555</td></tr>
+<td>4559</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>4557</td></tr>
+<td>4561</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>4618</td></tr>
+<td>4622</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>4620</td></tr>
+<td>4624</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>4621</td></tr>
+<td>4625</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>4711</td></tr>
+<td>4715</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 195 lines (max allowed is 150).</td>
-<td>4763</td></tr>
+<td>4767</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 has incorrect indentation level 9, expected level should be 8.</td>
-<td>4956</td></tr>
+<td>4960</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>5044</td></tr>
+<td>5048</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5045</td></tr>
+<td>5049</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5046</td></tr>
+<td>5050</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>5047</td></tr>
+<td>5051</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5048</td></tr>
+<td>5052</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5049</td></tr>
+<td>5053</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>5050</td></tr>
+<td>5054</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5051</td></tr>
+<td>5055</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5052</td></tr>
+<td>5056</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>5053</td></tr>
+<td>5057</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5054</td></tr>
+<td>5058</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5055</td></tr>
+<td>5059</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>5056</td></tr>
+<td>5060</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5057</td></tr>
+<td>5061</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child has incorrect indentation level 10, expected level should be 12.</td>
-<td>5058</td></tr>
+<td>5062</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>5060</td></tr>
+<td>5064</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>5306</td></tr>
+<td>5310</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>5307</td></tr>
+<td>5311</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>5308</td></tr>
+<td>5312</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>5309</td></tr>
+<td>5313</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>5372</td></tr>
+<td>5376</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>5812</td></tr>
+<td>5816</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>5901</td></tr>
+<td>5905</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>6138</td></tr>
+<td>6142</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>6139</td></tr>
+<td>6143</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 114).</td>
-<td>6143</td></tr>
+<td>6147</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>6159</td></tr>
+<td>6163</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>6168</td></tr>
+<td>6172</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>6176</td></tr>
+<td>6180</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>6186</td></tr>
+<td>6190</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>6188</td></tr>
+<td>6192</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 192 lines (max allowed is 150).</td>
-<td>6194</td></tr>
+<td>6198</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 4, expected level should be 6.</td>
-<td>6575</td></tr>
+<td>6579</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>6653</td></tr>
+<td>6660</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>6654</td></tr>
+<td>6661</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>6674</td></tr>
+<td>6681</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>6694</td></tr>
+<td>6701</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>6695</td></tr>
+<td>6702</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 221 lines (max allowed is 150).</td>
-<td>6714</td></tr>
+<td>6721</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>6769</td></tr>
+<td>6776</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>6926</td></tr>
+<td>6933</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>6940</td></tr>
+<td>6947</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>6946</td></tr>
+<td>6953</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>6952</td></tr>
+<td>6959</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>6954</td></tr>
+<td>6961</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>6997</td></tr>
+<td>7004</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>7082</td></tr>
+<td>7089</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>7084</td></tr>
+<td>7091</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>7085</td></tr>
+<td>7092</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>7086</td></tr>
+<td>7093</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>7087</td></tr>
+<td>7094</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>7088</td></tr>
+<td>7095</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>7092</td></tr>
+<td>7099</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>7124</td></tr>
+<td>7131</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7129</td></tr>
+<td>7136</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>7169</td></tr>
+<td>7176</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>7170</td></tr>
+<td>7177</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>7171</td></tr>
+<td>7178</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>7174</td></tr>
+<td>7181</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7179</td></tr>
+<td>7186</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>7188</td></tr>
+<td>7195</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>7189</td></tr>
+<td>7196</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>7190</td></tr>
+<td>7197</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>7196</td></tr>
+<td>7203</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7202</td></tr>
+<td>7209</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>7212</td></tr>
+<td>7219</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>7213</td></tr>
+<td>7220</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>7214</td></tr>
+<td>7221</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>7217</td></tr>
+<td>7224</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7221</td></tr>
+<td>7228</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>7231</td></tr>
+<td>7238</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>7232</td></tr>
+<td>7239</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>7233</td></tr>
+<td>7240</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>7238</td></tr>
+<td>7245</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7244</td></tr>
+<td>7251</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>7263</td></tr>
+<td>7270</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>7264</td></tr>
+<td>7271</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>7265</td></tr>
+<td>7272</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>7282</td></tr>
+<td>7289</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>7283</td></tr>
+<td>7290</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>7284</td></tr>
+<td>7291</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>7305</td></tr>
+<td>7312</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>7306</td></tr>
+<td>7313</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>7307</td></tr>
+<td>7314</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>7317</td></tr>
+<td>7324</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7355</td></tr>
+<td>7362</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>7415</td></tr>
+<td>7422</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>7540</td></tr>
+<td>7547</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>7572</td></tr>
+<td>7579</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>7576</td></tr>
+<td>7583</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>7578</td></tr>
+<td>7585</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>7749</td></tr>
+<td>7761</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7769</td></tr>
+<td>7781</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
-<td>7807</td></tr>
+<td>7819</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>7911</td></tr>
+<td>7927</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7936</td></tr>
+<td>7952</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>7994</td></tr>
+<td>8010</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'throws' has incorrect indentation level 2, expected level should be 4.</td>
-<td>7997</td></tr>
+<td>8013</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>8018</td></tr>
+<td>8034</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>8066</td></tr>
+<td>8082</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>8105</td></tr>
+<td>8121</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 120).</td>
-<td>8106</td></tr>
+<td>8122</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
-<td>8111</td></tr>
+<td>8127</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
-<td>8146</td></tr>
+<td>8162</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>8269</td></tr>
+<td>8285</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 modifier' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>8337</td></tr>
+<td>8353</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' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>8339</td></tr>
+<td>8355</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 has incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
-<td>8340</td></tr>
+<td>8356</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' has incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
-<td>8341</td></tr>
+<td>8357</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' has incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
-<td>8342</td></tr>
+<td>8358</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' has incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
-<td>8343</td></tr>
+<td>8359</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>8509</td></tr>
+<td>8525</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8510</td></tr>
+<td>8526</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>8512</td></tr>
+<td>8528</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8513</td></tr>
+<td>8529</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>8523</td></tr>
+<td>8539</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8524</td></tr>
+<td>8540</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8594</td></tr>
+<td>8610</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' has incorrect indentation level 8, expected level should be 10.</td>
-<td>8596</td></tr>
+<td>8612</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 has incorrect indentation level 10, expected level should be 12.</td>
-<td>8597</td></tr>
+<td>8613</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' has incorrect indentation level 8, expected level should be 10.</td>
-<td>8598</td></tr>
+<td>8614</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>8599</td></tr>
+<td>8615</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8600</td></tr>
+<td>8616</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>8602</td></tr>
+<td>8618</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8603</td></tr>
+<td>8619</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>8605</td></tr>
+<td>8621</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8606</td></tr>
+<td>8622</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8609</td></tr>
+<td>8625</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 has incorrect indentation level 6, expected level should be 8.</td>
-<td>8612</td></tr>
+<td>8628</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 has incorrect indentation level 8, expected level should be 10.</td>
-<td>8613</td></tr></table></div>
+<td>8629</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</h3>
 <table border="0" class="table table-striped">
@@ -61381,13 +61381,13 @@
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.conf.Configuration' import.</td>
-<td>25</td></tr>
+<td>26</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
-<td>217</td></tr></table></div>
+<td>222</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java</h3>
 <table border="0" class="table table-striped">
@@ -92809,7 +92809,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/checkstyle.rss b/checkstyle.rss
index 92a372a..8e4e93c 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2019 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 4022,
+      <title>File: 4024,
              Errors: 11703,
              Warnings: 0,
              Infos: 0
@@ -15894,6 +15894,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeter.java">org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.rsgroup.TestRSGroupMajorCompactionTTL.java">org/apache/hadoop/hbase/rsgroup/TestRSGroupMajorCompactionTTL.java</a>
                 </td>
                 <td>
@@ -40688,6 +40702,20 @@ under the License.
               </tr>
                           <tr>
                 <td>
+                  <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.java">org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+              </tr>
+                          <tr>
+                <td>
                   <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.util.TestConfigurationUtil.java">org/apache/hadoop/hbase/util/TestConfigurationUtil.java</a>
                 </td>
                 <td>
diff --git a/coc.html b/coc.html
index 4f75d33..c9bf145 100644
--- a/coc.html
+++ b/coc.html
@@ -224,7 +224,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependencies.html b/dependencies.html
index 9f0df26..cdef2d7 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -296,7 +296,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 8f3ef6c..95ac772 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -541,7 +541,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-info.html b/dependency-info.html
index 64d39ee..9611b00 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -177,7 +177,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/dependency-management.html b/dependency-management.html
index 42c2829..0db3c60 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -320,19 +320,19 @@
 <tr class="b">
 <td>org.apache.curator</td>
 <td><a class="externalLink" href="http://curator.apache.org/curator-client">curator-client</a></td>
-<td>4.0.0</td>
+<td>4.2.0</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
 <tr class="a">
 <td>org.apache.curator</td>
 <td><a class="externalLink" href="http://curator.apache.org/curator-framework">curator-framework</a></td>
-<td>4.0.0</td>
+<td>4.2.0</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
 <tr class="b">
 <td>org.apache.curator</td>
 <td><a class="externalLink" href="http://curator.apache.org/curator-recipes">curator-recipes</a></td>
-<td>4.0.0</td>
+<td>4.2.0</td>
 <td>jar</td>
 <td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr>
 <tr class="a">
@@ -899,7 +899,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2019
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-22</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-09-23</li>
 </p>
         </div>
         <p id="poweredBy" class="pull-right"><a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index 5b5e95a..c53c950 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -1631,6 +1631,9 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableLatencies</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableLatenciesImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableLatenciesImpl.TableHistograms</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableQueryMeter</span></a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableQueryMeterImpl</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableQueryMeterImpl.TableMeters</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableSource</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableSourceImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableWrapperAggregate</span></a></li>
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 242d842..be763c3 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -1631,6 +1631,9 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">MetricsTableLatencies</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistograms</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">MetricsTableQueryMeter</span></a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">MetricsTableSource</span></a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableSourceImpl</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="interfaceName">MetricsTableWrapperAggregate</span></a></li>
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index bdc3048..8d2d271 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3999,14 +3999,14 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Sun Sep 22 14:35:09 UTC 2019"</code></td>
+<td class="colLast"><code>"Mon Sep 23 14:39:12 UTC 2019"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"537c5f0660fa6ce0b59cd7bb93de95fd3975cd25"</code></td>
+<td class="colLast"><code>"56489819bc835c9231053b550215f139c9da648e"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
@@ -22586,6 +22586,32 @@
 </li>
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</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.regionserver.MetricsTableQueryMeterImpl.TABLE_READ_QUERY_PER_SECOND">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_READ_QUERY_PER_SECOND">TABLE_READ_QUERY_PER_SECOND</a></code></td>
+<td class="colLast"><code>"tableReadQueryPerSecond"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TABLE_WRITE_QUERY_PER_SECOND">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_WRITE_QUERY_PER_SECOND">TABLE_WRITE_QUERY_PER_SECOND</a></code></td>
+<td class="colLast"><code>"tableWriteQueryPerSecond"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableSource</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 9e3a248..d80e2db 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -43848,6 +43848,8 @@
 <dd>
 <div class="block">Yes this is a get function that doesn't return anything.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#getMetrics-org.apache.hadoop.metrics2.MetricsCollector-boolean-">getMetrics(MetricsCollector, boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerServices.html#getMetrics--">getMetrics()</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>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScannerContext.html#getMetrics--">getMetrics()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a></dt>
@@ -45720,6 +45722,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#getOrCreateTableHistogram-java.lang.String-">getOrCreateTableHistogram(String)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#getOrCreateTableMeter-org.apache.hadoop.hbase.TableName-">getOrCreateTableMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.html#getOrCreateTableSource-java.lang.String-org.apache.hadoop.hbase.regionserver.MetricsTableWrapperAggregate-">getOrCreateTableSource(String, MetricsTableWrapperAggregate)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableAggregateSource.html" title="interface in org.apache.hadoop.hbase.regionserver">Met [...]
 <dd>
 <div class="block">Returns MetricsTableSource registered for the table.</div>
@@ -74968,6 +74972,8 @@
 <div class="block">Get or construct a <a href="org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics"><code>Meter</code></a> used to measure durations and report distributions (a
  combination of a <a href="org/apache/hadoop/hbase/metrics/Timer.html" title="interface in org.apache.hadoop.hbase.metrics"><code>Timer</code></a> and a <a href="org/apache/hadoop/hbase/metrics/Histogram.html" title="interface in org.apache.hadoop.hbase.metrics"><code>Histogram</code></a>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metersByTable">metersByTable</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/RegionCoprocessorServiceExec.html#method">method</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RegionCoprocessorServiceExec.html" title="class in org.apache.hadoop.hbase.client">RegionCoprocessorServiceExec</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html#METHOD">METHOD</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/CommonFSUtils.StreamCapabilities.html" title="class in org.apache.hadoop.hbase.util">CommonFSUtils.StreamCapabilities</a></dt>
@@ -75031,6 +75037,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#metricRegistry">metricRegistry</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metricRegistry">metricRegistry</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionEnvironment.html#metricRegistry">metricRegistry</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionEnvironment</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironment.html#metricRegistry">metricRegistry</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost.RegionServerEnvironment</a></dt>
@@ -75954,6 +75962,19 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.html#metricsTableMap">metricsTableMap</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableWrapperAggregateImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeter</span></a> - Interface in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
+<dd>
+<div class="block">Query Per Second for each table in a RegionServer.</div>
+</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
+<dd>
+<div class="block">Implementation of <a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>MetricsTableQueryMeter</code></a> to track query per second for each table in
+ a RegionServer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#MetricsTableQueryMeterImpl-org.apache.hadoop.hbase.metrics.MetricRegistry-">MetricsTableQueryMeterImpl(MetricRegistry)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl.TableMeters</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableSource</span></a> - Interface in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
 <dd>
 <div class="block">This interface will be implemented to allow region server to push table metrics into
@@ -89305,6 +89326,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName(TableName, String)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName(TableName, String)</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#QualityOfProtection-java.lang.String-">QualityOfProtection(String)</a></span> - Constructor for enum org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/RowColBloomHashKey.html#qualLength">qualLength</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RowColBloomHashKey.html" title="class in org.apache.hadoop.hbase.util">RowColBloomHashKey</a></dt>
@@ -89339,6 +89362,8 @@ service.</div>
 <div class="block"><span class="deprecationComment">Since 2.0.0. To be removed in hbase-3.0.0.</span></div>
 </div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#queryMeter">queryMeter</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html#queryTables">queryTables</a></span> - Variable in class org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/NamespacesInstanceResource.html" title="class in org.apache.hadoop.hbase.rest">NamespacesInstanceResource</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.html#queryTerminalSize--">queryTerminalSize()</a></span> - Method in class org.apache.hadoop.hbase.hbtop.terminal.impl.<a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.html" title="class in org.apache.hadoop.hbase.hbtop.terminal.impl">TerminalImpl</a></dt>
@@ -102376,6 +102401,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/ServerQueue.html#ServerQueue-org.apache.hadoop.hbase.ServerName-int-org.apache.hadoop.hbase.procedure2.LockStatus-">ServerQueue(ServerName, int, LockStatus)</a></span> - Constructor for class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/ServerQueue.html" title="class in org.apache.hadoop.hbase.master.procedure">ServerQueue</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverReadQueryMeter">serverReadQueryMeter</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.util"><span class="typeNameLink">ServerRegionReplicaUtil</span></a> - Class in <a href="org/apache/hadoop/hbase/util/package-summary.html">org.apache.hadoop.hbase.util</a></dt>
 <dd>
 <div class="block">Similar to <a href="org/apache/hadoop/hbase/client/RegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.client"><code>RegionReplicaUtil</code></a> but for the server side</div>
@@ -102502,6 +102529,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html#serverWrapper">serverWrapper</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverWriteQueryMeter">serverWriteQueryMeter</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.MasterCoprocessorService.html#service">service</a></span> - Variable in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/CoprocessorServiceBackwardCompatiblity.MasterCoprocessorService.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorServiceBackwardCompatiblity.MasterCoprocessorService</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -114117,6 +114146,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.html#TABLE_QUOTA_USAGE_NAME">TABLE_QUOTA_USAGE_NAME</a></span> - Static variable in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MetricsMasterQuotaSource.html" title="interface in org.apache.hadoop.hbase.master">MetricsMasterQuotaSource</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_READ_QUERY_PER_SECOND">TABLE_READ_QUERY_PER_SECOND</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#TABLE_RS_LOG_MAP_PREFIX">TABLE_RS_LOG_MAP_PREFIX</a></span> - Static variable in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TableDescriptorChecker.html#TABLE_SANITY_CHECKS">TABLE_SANITY_CHECKS</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TableDescriptorChecker.html" title="class in org.apache.hadoop.hbase.util">TableDescriptorChecker</a></dt>
@@ -114131,6 +114162,8 @@ service.</div>
 <dd>
 <div class="block">The serialized table state qualifier</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_WRITE_QUERY_PER_SECOND">TABLE_WRITE_QUERY_PER_SECOND</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#tableAcls">tableAcls</a></span> - Variable in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.html#tableAndRegionInfo">tableAndRegionInfo</a></span> - Variable in class org.apache.hadoop.hbase.namespace.<a href="org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.html" title="class in org.apache.hadoop.hbase.namespace">NamespaceTableAndRegionInfo</a></dt>
@@ -114458,6 +114491,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.ExampleRegionObserverMeta.html#tableMeterName-java.lang.String-">tableMeterName(String)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.ExampleRegionObserverMeta.html" title="class in org.apache.hadoop.hbase.coprocessor">MetaTableMetrics.ExampleRegionObserverMeta</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#TableMeters-org.apache.hadoop.hbase.metrics.MetricRegistry-org.apache.hadoop.hbase.TableName-">TableMeters(MetricRegistry, TableName)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryM [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.ExampleRegionObserverMeta.html#tableMetricRegisterAndMark-org.apache.hadoop.hbase.client.Row-">tableMetricRegisterAndMark(Row)</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.ExampleRegionObserverMeta.html" title="class in org.apache.hadoop.hbase.coprocessor">MetaTableMetrics.ExampleRegionObserverMeta</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#tableMetrics">tableMetrics</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
@@ -114759,6 +114794,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html#TableQuotaSnapshotStore-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.quotas.QuotaObserverChore-java.util.Map-">TableQuotaSnapshotStore(Connection, QuotaObserverChore, Map&lt;RegionInfo, Long&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/TableQuotaSnapshotStore.html" title="class in org.apache.hadoop.hba [...]
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableReadQueryMeter">tableReadQueryMeter</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html#tableRecordReader">tableRecordReader</a></span> - Variable in class org.apache.hadoop.hbase.mapred.<a href="org/apache/hadoop/hbase/mapred/TableInputFormatBase.html" title="class in org.apache.hadoop.hbase.mapred">TableInputFormatBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/mapred/TableRecordReader.html" title="class in org.apache.hadoop.hbase.mapred"><span class="typeNameLink">TableRecordReader</span></a> - Class in <a href="org/apache/hadoop/hbase/mapred/package-summary.html">org.apache.hadoop.hbase.mapred</a></dt>
@@ -115080,6 +115117,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html#tableWrapperAgg">tableWrapperAgg</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableSourceImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableWriteQueryMeter">tableWriteQueryMeter</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZNodePaths.html#tableZNode">tableZNode</a></span> - Variable in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZNodePaths.html" title="class in org.apache.hadoop.hbase.zookeeper">ZNodePaths</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -121137,6 +121176,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFile.html#updateReadLatency-long-boolean-">updateReadLatency(long, boolean)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateReadQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateReadQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/hbtop/screen/top/Paging.html#updateRecordsSize-int-">updateRecordsSize(int)</a></span> - Method in class org.apache.hadoop.hbase.hbtop.screen.top.<a href="org/apache/hadoop/hbase/hbtop/screen/top/Paging.html" title="class in org.apache.hadoop.hbase.hbtop.screen.top">Paging</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.html#updateRegionFavoredNodesMapping-java.lang.String-java.util.List-">updateRegionFavoredNodesMapping(String, List&lt;HBaseProtos.ServerName&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.html" title="interface in org.apache.hadoop.hbase.regionserver">FavoredNodesForRegion</a></dt>
@@ -121444,6 +121487,26 @@ service.</div>
 <div class="block">Updates the hbase:quota table with the new quota policy for this <code>table</code>
  if necessary.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter(TableName, long)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></dt>
+<dd>
+<div class="block">Update table read QPS</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></dt>
+<dd>
+<div class="block">Update table read QPS</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableReadQueryMeter-long-">updateTableReadQueryMeter(long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableReadQueryMeter--">updateTableReadQueryMeter()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/MetaTableAccessor.html#updateTableState-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.TableState.State-">updateTableState(Connection, TableName, TableState.State)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/MetaTableAccessor.html" title="class in org.apache.hadoop.hbase">MetaTableAccessor</a></dt>
 <dd>
 <div class="block">Updates state in META</div>
@@ -121452,6 +121515,26 @@ service.</div>
 <dd>
 <div class="block">Update state of the table in meta.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter(TableName, long)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></dt>
+<dd>
+<div class="block">Update table write QPS</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></dt>
+<dd>
+<div class="block">Update table write QPS</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableWriteQueryMeter-long-">updateTableWriteQueryMeter(long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableWriteQueryMeter--">updateTableWriteQueryMeter()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.html#updateTerminalSize-int-int-">updateTerminalSize(int, int)</a></span> - Method in class org.apache.hadoop.hbase.hbtop.terminal.impl.<a href="org/apache/hadoop/hbase/hbtop/terminal/impl/TerminalImpl.html" title="class in org.apache.hadoop.hbase.hbtop.terminal.impl">TerminalImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaUtil.html#updateTimedQuota-org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.TimedQuota-double-">updateTimedQuota(QuotaProtos.TimedQuota, double)</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaUtil</a></dt>
@@ -121519,6 +121602,10 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/HFile.html#updateWriteLatency-long-">updateWriteLatency(long)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/HFile.html" title="class in org.apache.hadoop.hbase.io.hfile">HFile</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateWriteQueryMeter(TableName, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateWriteQueryMeter(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegionServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#updateZk-boolean-">updateZk(boolean)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html" title="class in org.apache.hadoop.hbase.security.visibility">DefaultVisibilityLabelServiceImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MirroringTableStateManager.html#updateZooKeeper-org.apache.hadoop.hbase.client.TableState-">updateZooKeeper(TableState)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MirroringTableStateManager.html" title="class in org.apache.hadoop.hbase.master">MirroringTableStateManager</a></dt>
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 5c05b83..54e5ea1 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -167,10 +167,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index ac55773..81ca859 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -8467,6 +8467,10 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">MetricsTableLatenciesImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#histogramsByTable">histogramsByTable</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters< [...]
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metersByTable">metersByTable</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.MetricsTableValues.html" title="class in org.apache.had [...]
 <td class="colLast"><span class="typeNameLabel">MetricsTableWrapperAggregateImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.html#metricsTableMap">metricsTableMap</a></span></code>&nbsp;</td>
 </tr>
@@ -8518,17 +8522,26 @@ service.</div>
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#getOrCreateTableMeter-org.apache.hadoop.hbase.TableName-">getOrCreateTableMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">OnlineRegions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get all online regions of a table in this RS.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html#getRegions-org.apache.hadoop.hbase.TableName-">getRegions</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets the online regions of the specified table.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metric)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetricsTableLatenciesImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -8619,6 +8632,15 @@ service.</div>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                    long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateScanSize-org.apache.hadoop.hbase.TableName-long-">updateScanSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
               long&nbsp;scanSize)</code>&nbsp;</td>
 </tr>
@@ -8637,6 +8659,77 @@ service.</div>
 <td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateScanTime-org.apache.hadoop.hbase.TableName-long-">updateScanTime</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
               long&nbsp;time)</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table read QPS</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                         long&nbsp;count)</code>
+<div class="block">Update table read QPS</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                         long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                         long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table write QPS</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                          long&nbsp;count)</code>
+<div class="block">Update table write QPS</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                          long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                          long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                     long&nbsp;count)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -8663,6 +8756,10 @@ service.</div>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#TableHistograms-org.apache.hadoop.metrics2.lib.DynamicMetricsRegistry-org.apache.hadoop.hbase.TableName-">TableHistograms</a></span>(<a href="../../../../../org/apache/hadoop/metrics2/lib/DynamicMetricsRegistry.html" title="class in org.apache.hadoop.metrics2.lib">DynamicMetricsRegistry</a>&nbsp;registry,
                <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#TableMeters-org.apache.hadoop.hbase.metrics.MetricRegistry-org.apache.hadoop.hbase.TableName-">TableMeters</a></span>(<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry,
+           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index ccb05cf..4bfe552 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -424,21 +424,21 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index e8b36dc..ff348fd 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -189,13 +189,13 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html b/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
index abc40ba..9eebaf0 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/field/package-tree.html
@@ -92,8 +92,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldValueType.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">FieldValueType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/Field.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">Field</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.hbtop.field.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/field/FieldValueType.html" title="enum in org.apache.hadoop.hbase.hbtop.field"><span class="typeNameLink">FieldValueType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
index 57bc13e..3ddbb12 100644
--- a/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
@@ -107,8 +107,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/Color.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">Color</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/KeyPress.Type.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">KeyPress.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.hbtop.terminal.<a href="../../../../../../org/apache/hadoop/hbase/hbtop/terminal/Color.html" title="enum in org.apache.hadoop.hbase.hbtop.terminal"><span class="typeNameLink">Color</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
index 30d5e24..48c0444 100644
--- a/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/http/package-tree.html
@@ -138,9 +138,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/HttpConfig.Policy.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">HttpConfig.Policy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Event.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Event</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/HttpConfig.Policy.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">HttpConfig.Policy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.http.<a href="../../../../../org/apache/hadoop/hbase/http/ProfileServlet.Output.html" title="enum in org.apache.hadoop.hbase.http"><span class="typeNameLink">ProfileServlet.Output</span></a></li>
 </ul>
 </li>
 </ul>
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 ae923bb..fe512b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -298,11 +298,11 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockCacheFactory.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 05f6fbe..79eb136 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -353,9 +353,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 537531d..a697a37 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -296,10 +296,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <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="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
index b988a3c..b3e7c99 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/assignment/package-tree.html
@@ -151,8 +151,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.TransitionType.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TransitRegionStateProcedure.TransitionType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/ServerState.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">ServerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.assignment.<a href="../../../../../../org/apache/hadoop/hbase/master/assignment/TransitRegionStateProcedure.TransitionType.html" title="enum in org.apache.hadoop.hbase.master.assignment"><span class="typeNameLink">TransitRegionStateProcedure.TransitionType</span></a></li>
 </ul>
 </li>
 </ul>
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 c49c655..848d41f 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -198,8 +198,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</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="typeNameLink">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.LocalityType.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="typeNameLink">BaseLoadBalancer.Cluster.LocalityType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index f3630ec..f1d4894 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -359,12 +359,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager.ServerLiveState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index ad33f84..942a320 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -217,8 +217,8 @@
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/PeerProcedureInterface.PeerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">PeerProcedureInterface.PeerOperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/MetaProcedureInterface.MetaOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">MetaProcedureInterface.MetaOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/metrics/class-use/Meter.html b/devapidocs/org/apache/hadoop/hbase/metrics/class-use/Meter.html
index b91107f..8ee046c 100644
--- a/devapidocs/org/apache/hadoop/hbase/metrics/class-use/Meter.html
+++ b/devapidocs/org/apache/hadoop/hbase/metrics/class-use/Meter.html
@@ -196,12 +196,28 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverReadQueryMeter">serverReadQueryMeter</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverWriteQueryMeter">serverWriteQueryMeter</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetricsRegionServerQuotaSourceImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSourceImpl.html#spaceQuotaSnapshotsReceived">spaceQuotaSnapshotsReceived</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.TableMeters.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableReadQueryMeter">tableReadQueryMeter</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetricsRegionServerQuotaSourceImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSourceImpl.html#tablesInViolationCounter">tablesInViolationCounter</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.TableMeters.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableWriteQueryMeter">tableWriteQueryMeter</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/metrics/class-use/MetricRegistry.html b/devapidocs/org/apache/hadoop/hbase/metrics/class-use/MetricRegistry.html
index 95b0539..45d2d85 100644
--- a/devapidocs/org/apache/hadoop/hbase/metrics/class-use/MetricRegistry.html
+++ b/devapidocs/org/apache/hadoop/hbase/metrics/class-use/MetricRegistry.html
@@ -429,14 +429,18 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionServerCoprocessorHost.RegionServerEnvironment.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironment.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RegionServerCoprocessorHost.RegionServerEnvironment.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironment.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsRegionServer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RegionCoprocessorHost.RegionEnvironment.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionEnvironment.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -458,6 +462,21 @@
 </tr>
 </tbody>
 </table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#MetricsTableQueryMeterImpl-org.apache.hadoop.hbase.metrics.MetricRegistry-">MetricsTableQueryMeterImpl</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#TableMeters-org.apache.hadoop.hbase.metrics.MetricRegistry-org.apache.hadoop.hbase.TableName-">TableMeters</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry,
+           <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
 </li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.regionserver.wal">
 <!--   -->
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index d0fc13c..48484b1 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -424,19 +424,19 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterMetrics.Option.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterMetrics.Option</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompareOperator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Size.Unit.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Size.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CellBuilderType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CellBuilderType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Cell.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Cell.Type</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 3947142..47704b1 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -216,11 +216,11 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/LockedResourceType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockedResourceType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index 521fea0..e5687c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -240,12 +240,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/RpcThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">RpcThrottlingException.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="typeNameLink">QuotaScope</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
index a437968..e4898bc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6153">HRegion.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6157">HRegion.BulkLoadListener</a></pre>
 <div class="block">Listener class to enable callers of
  bulkLoadHFile() to perform any necessary
  pre/post processing of a given bulkload call</div>
@@ -174,7 +174,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareBulkLoad</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6161">prepareBulkLoad</a>(byte[]&nbsp;family,
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6165">prepareBulkLoad</a>(byte[]&nbsp;family,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath,
                        boolean&nbsp;copyFile)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -196,7 +196,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>doneBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6170">doneBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6174">doneBulkLoad</a>(byte[]&nbsp;family,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a successful HFile load</div>
@@ -215,7 +215,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>failedBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6178">failedBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6182">failedBulkLoad</a>(byte[]&nbsp;family,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called after a failed HFile load</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
index 04c4dcb..404ead0 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html
@@ -121,7 +121,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6408">HRegion.RegionScannerImpl</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6412">HRegion.RegionScannerImpl</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</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>
@@ -425,7 +425,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.6411">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.6415">storeHeap</a></pre>
 </li>
 </ul>
 <a name="joinedHeap">
@@ -434,7 +434,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.6414">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.6418">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>
@@ -445,7 +445,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.6418">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.6422">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>
@@ -456,7 +456,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.6419">filterClosed</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6423">filterClosed</a></pre>
 </li>
 </ul>
 <a name="stopRow">
@@ -465,7 +465,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.6421">stopRow</a></pre>
+<pre>protected final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6425">stopRow</a></pre>
 </li>
 </ul>
 <a name="includeStopRow">
@@ -474,7 +474,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>includeStopRow</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6422">includeStopRow</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6426">includeStopRow</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -483,7 +483,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.6423">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.6427">region</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -492,7 +492,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="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6424">comparator</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6428">comparator</a></pre>
 </li>
 </ul>
 <a name="readPt">
@@ -501,7 +501,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.6426">readPt</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6430">readPt</a></pre>
 </li>
 </ul>
 <a name="maxResultSize">
@@ -510,7 +510,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.6427">maxResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6431">maxResultSize</a></pre>
 </li>
 </ul>
 <a name="defaultScannerContext">
@@ -519,7 +519,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.6428">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.6432">defaultScannerContext</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -528,7 +528,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.6429">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.6433">filter</a></pre>
 </li>
 </ul>
 </li>
@@ -545,7 +545,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6436">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.6440">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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/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)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -561,7 +561,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannerImpl</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6441">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.6445">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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/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,
                   long&nbsp;nonceGroup,
@@ -587,7 +587,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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6432">getRegionInfo</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6436">getRegionInfo</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></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>
@@ -602,7 +602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeScanners</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6479">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6483">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;additionalScanners)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -617,7 +617,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.6511">initializeKVHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/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.6515">initializeKVHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;scanners,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -633,7 +633,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>handleException</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/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.6520">handleException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/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.6524">handleException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ [...]
                                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
 </li>
 </ul>
@@ -643,7 +643,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.6541">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6545">getMaxResultSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></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>
@@ -659,7 +659,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.6546">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6550">getMvccReadPoint</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></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>
@@ -674,7 +674,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.6551">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6555">getBatch</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></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>
@@ -690,7 +690,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.6560">resetFilters</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6564">resetFilters</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Reset both the filter and the old filter.</div>
 <dl>
@@ -705,7 +705,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.6567">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6571">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-">InternalScanner</a></code></span></div>
 <div class="block">Grab the next row's worth of values.</div>
@@ -727,7 +727,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.6574">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6578">next</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">InternalScanner</a></code></span></div>
@@ -750,7 +750,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.6590">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6594">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;outResults)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-">RegionScanner</a></code></span></div>
 <div class="block">Grab the next row's worth of values. This is a special internal method to be called from
@@ -775,7 +775,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.6596">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6600">nextRaw</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#nextRaw-java.util.List-org.apache.hadoop.hbase.regionserver.ScannerContext-">RegionScanner</a></code></span></div>
@@ -821,7 +821,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.6633">populateFromJoinedHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6640">populateFromJoinedHeap</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -838,7 +838,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.6657">populateResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6664">populateResult</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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)
@@ -863,7 +863,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.6698">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.6705">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
@@ -883,7 +883,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.6706">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6713">isFilterDone</a>()
                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -901,7 +901,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.6710">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6717">isFilterDoneInternal</a>()
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -915,7 +915,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.6714">nextInternal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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.6721">nextInternal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -930,7 +930,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.6937">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.6944">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-">
@@ -939,7 +939,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.6945">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.6952">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-">
@@ -948,7 +948,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.6956">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.6963">joinedHeapMayHaveData</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentRowCell)
                                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -966,7 +966,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.6983">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.6990">filterRow</a>()
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">This 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,
@@ -985,7 +985,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.6990">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.6997">filterRowKey</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;current)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -999,7 +999,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.6994">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.7001">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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -1014,7 +1014,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldStop</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7009">shouldStop</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.7016">shouldStop</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--">
@@ -1023,7 +1023,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.7021">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7028">close</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#close--">InternalScanner</a></code></span></div>
 <div class="block">Closes the scanner and releases any resources it has allocated</div>
 <dl>
@@ -1042,7 +1042,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.7035">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.7042">getStoreHeapForTesting</a>()</pre>
 </li>
 </ul>
 <a name="reseek-byte:A-">
@@ -1051,7 +1051,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.7040">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7047">reseek</a>(byte[]&nbsp;row)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#reseek-byte:A-">RegionScanner</a></code></span></div>
 <div class="block">Do a reseek to the required row. Should not be used to seek to a key which
@@ -1071,7 +1071,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.7060">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7067">shipped</a>()
              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--">Shipper</a></code></span></div>
 <div class="block">Called after a batch of rows scanned and set to be returned to client. Any in between cleanup
@@ -1090,7 +1090,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.7070">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RegionScannerImpl.html#line.7077">run</a>()
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index edf713c..a09e9b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6015">HRegion.RowLockContext</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6019">HRegion.RowLockContext</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -241,7 +241,7 @@ extends <a href="https://docs.oracle.com/javase/8/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.6016">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.6020">row</a></pre>
 </li>
 </ul>
 <a name="readWriteLock">
@@ -250,7 +250,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>readWriteLock</h4>
-<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6017">readWriteLock</a></pre>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6021">readWriteLock</a></pre>
 </li>
 </ul>
 <a name="usable">
@@ -259,7 +259,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>usable</h4>
-<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6018">usable</a></pre>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6022">usable</a></pre>
 </li>
 </ul>
 <a name="count">
@@ -268,7 +268,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>count</h4>
-<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6019">count</a></pre>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6023">count</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -277,7 +277,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6020">lock</a></pre>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6024">lock</a></pre>
 </li>
 </ul>
 <a name="threadName">
@@ -286,7 +286,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>threadName</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6021">threadName</a></pre>
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6025">threadName</a></pre>
 </li>
 </ul>
 </li>
@@ -303,7 +303,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowLockContext</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6023">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.6027">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>
@@ -320,7 +320,7 @@ extends <a href="https://docs.oracle.com/javase/8/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.6027">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.6031">newWriteLock</a>()</pre>
 </li>
 </ul>
 <a name="newReadLock--">
@@ -329,7 +329,7 @@ extends <a href="https://docs.oracle.com/javase/8/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.6031">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.6035">newReadLock</a>()</pre>
 </li>
 </ul>
 <a name="getRowLock-java.util.concurrent.locks.Lock-">
@@ -338,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/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.6036">getRowLock</a>(<a href="https://docs.oracle.com/javase/8/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.6040">getRowLock</a>(<a href="https://docs.oracle.com/javase/8/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--">
@@ -347,7 +347,7 @@ extends <a href="https://docs.oracle.com/javase/8/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.6047">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6051">cleanUp</a>()</pre>
 </li>
 </ul>
 <a name="setThreadName-java.lang.String-">
@@ -356,7 +356,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>setThreadName</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6060">setThreadName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6064">setThreadName</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;threadName)</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -365,7 +365,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6065">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.6069">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
index 5c042e1..fb2001f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6078">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6082">HRegion.RowLockImpl</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/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>
@@ -226,7 +226,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.6079">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.6083">context</a></pre>
 </li>
 </ul>
 <a name="lock">
@@ -235,7 +235,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="https://docs.oracle.com/javase/8/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.6080">lock</a></pre>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6084">lock</a></pre>
 </li>
 </ul>
 </li>
@@ -252,7 +252,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RowLockImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6082">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.6086">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="https://docs.oracle.com/javase/8/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>
@@ -270,7 +270,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="https://docs.oracle.com/javase/8/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.6087">getLock</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/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.6091">getLock</a>()</pre>
 </li>
 </ul>
 <a name="getContext--">
@@ -279,7 +279,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.6092">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.6096">getContext</a>()</pre>
 </li>
 </ul>
 <a name="release--">
@@ -288,7 +288,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.6097">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6101">release</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release--">Region.RowLock</a></code></span></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>
@@ -304,7 +304,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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6103">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6107">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
index 15dda35..6de6986 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -3379,7 +3379,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.8217">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8233">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -3388,7 +3388,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.8234">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8250">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="MOCKED_LIST">
@@ -3397,7 +3397,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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8628">MOCKED_LIST</a></pre>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8644">MOCKED_LIST</a></pre>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </li>
 </ul>
@@ -5405,7 +5405,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doMiniBatchMutate</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4096">doMiniBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4100">doMiniBatchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Called to do a piece of the batch that came in to <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#batchMutate-org.apache.hadoop.hbase.client.Mutation:A-long-long-"><code>batchMutate(Mutation[], long, long)</code></a>
  In here we also handle replay of edits on region recover. Also gets change in size brought
@@ -5422,7 +5422,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.4184">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.4188">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>
@@ -5433,7 +5433,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.4189">checkAndMutate</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4193">checkAndMutate</a>(byte[]&nbsp;row,
                               byte[]&nbsp;family,
                               byte[]&nbsp;qualifier,
                               <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
@@ -5470,7 +5470,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.4196">checkAndRowMutate</a>(byte[]&nbsp;row,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4200">checkAndRowMutate</a>(byte[]&nbsp;row,
                                  byte[]&nbsp;family,
                                  byte[]&nbsp;qualifier,
                                  <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
@@ -5507,7 +5507,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doCheckAndRowMutate</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4205">doCheckAndRowMutate</a>(byte[]&nbsp;row,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4209">doCheckAndRowMutate</a>(byte[]&nbsp;row,
                                     byte[]&nbsp;family,
                                     byte[]&nbsp;qualifier,
                                     <a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
@@ -5530,7 +5530,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkMutationType</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4304">checkMutationType</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.4308">checkMutationType</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                byte[]&nbsp;row)
                         throws <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
@@ -5545,7 +5545,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>matches</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4315">matches</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4319">matches</a>(<a href="../../../../../org/apache/hadoop/hbase/CompareOperator.html" title="enum in org.apache.hadoop.hbase">CompareOperator</a>&nbsp;op,
                         int&nbsp;compareResult)</pre>
 </li>
 </ul>
@@ -5555,7 +5555,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.4343">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.4347">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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5569,7 +5569,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.4368">addRegionToSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;desc,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4372">addRegionToSnapshot</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Complete taking the snapshot on the region. Writes the region info and adds references to the
@@ -5594,7 +5594,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>updateSequenceId</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4378">updateSequenceId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html"  [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4382">updateSequenceId</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html"  [...]
                               long&nbsp;sequenceId)
                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5609,7 +5609,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCellTimestamps</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4394">updateCellTimestamps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ [...]
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4398">updateCellTimestamps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ [...]
                                          byte[]&nbsp;now)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Replace any cell timestamps set to <a href="../../../../../org/apache/hadoop/hbase/HConstants.html#LATEST_TIMESTAMP"><code>HConstants.LATEST_TIMESTAMP</code></a>
@@ -5629,7 +5629,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.4411">rewriteCellTags</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface  [...]
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4415">rewriteCellTags</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface  [...]
                      <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>
@@ -5640,7 +5640,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkResources</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4439">checkResources</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4443">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="throwsLabel">Throws:</span></dt>
@@ -5654,7 +5654,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.4461">checkReadOnly</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4465">checkReadOnly</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5668,7 +5668,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.4467">checkReadsEnabled</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4471">checkReadsEnabled</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5682,7 +5682,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.4474">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4478">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 <a name="put-byte:A-byte:A-java.util.List-">
@@ -5691,7 +5691,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4487">put</a>(byte[]&nbsp;row,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4491">put</a>(byte[]&nbsp;row,
          byte[]&nbsp;family,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;edits)
   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5712,7 +5712,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>applyToMemStore</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4502">applyToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4506">applyToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;cells,
                              boolean&nbsp;delta,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a>&nbsp;memstoreAccounting)
@@ -5735,7 +5735,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>applyToMemStore</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4516">applyToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4520">applyToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                              <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a>&nbsp;memstoreAccounting)
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5753,7 +5753,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamilies</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4526">checkFamilies</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4530">checkFamilies</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;families,
                            <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
                     throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a>,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/InvalidMutationDurabilityException.html" title="class in org.apache.hadoop.hbase.regionserver">InvalidMutationDurabilityException</a></pre>
@@ -5770,7 +5770,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamily</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4533">checkFamily</a>(byte[]&nbsp;family,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4537">checkFamily</a>(byte[]&nbsp;family,
                          <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
                   throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a>,
                          <a href="../../../../../org/apache/hadoop/hbase/regionserver/InvalidMutationDurabilityException.html" title="class in org.apache.hadoop.hbase.regionserver">InvalidMutationDurabilityException</a></pre>
@@ -5787,7 +5787,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkFamily</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4545">checkFamily</a>(byte[]&nbsp;family)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4549">checkFamily</a>(byte[]&nbsp;family)
           throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/NoSuchColumnFamilyException.html" title="class in org.apache.hadoop.hbase.regionserver">NoSuchColumnFamilyException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5801,7 +5801,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.4559">checkTimestamps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4563">checkTimestamps</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title [...]
                             long&nbsp;now)
                      throws <a href="../../../../../org/apache/hadoop/hbase/exceptions/FailedSanityCheckException.html" title="class in org.apache.hadoop.hbase.exceptions">FailedSanityCheckException</a></pre>
 <div class="block">Check the collection of families for valid timestamps</div>
@@ -5820,7 +5820,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.4586">isFlushSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;size)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4590">isFlushSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;size)</pre>
 </li>
 </ul>
 <a name="replayRecoveredEditsIfAny-java.util.Map-org.apache.hadoop.hbase.util.CancelableProgressable-org.apache.hadoop.hbase.monitoring.MonitoredTask-">
@@ -5829,7 +5829,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.4623">replayRecoveredEditsIfAny</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;maxSeqIdInStores,
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4627">replayRecoveredEditsIfAny</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/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)
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5876,7 +5876,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>replayRecoveredEditsForPaths</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4693">replayRecoveredEditsForPaths</a>(long&nbsp;minSeqIdForTheRegion,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4697">replayRecoveredEditsForPaths</a>(long&nbsp;minSeqIdForTheRegion,
                                           org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;org.apache.hadoop.fs.Path&gt;&nbsp;files,
                                           <a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
@@ -5894,7 +5894,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.4763">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.4767">replayRecoveredEdits</a>(org.apache.hadoop.fs.Path&nbsp;edits,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/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,
                                   org.apache.hadoop.fs.FileSystem&nbsp;fs)
@@ -5911,7 +5911,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.4966">replayWALCompactionMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4970">replayWALCompactionMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
                                boolean&nbsp;pickCompactionFiles,
                                boolean&nbsp;removeFiles,
                                long&nbsp;replaySeqId)
@@ -5931,7 +5931,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.5027">replayWALFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5031">replayWALFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                           long&nbsp;replaySeqId)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -5946,7 +5946,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.5074">replayWALFlushStartMarker</a>(org.apache.hadoop.hbase.shaded.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.5078">replayWALFlushStartMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
                                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">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
@@ -5963,7 +5963,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.5187">replayWALFlushCommitMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5191">replayWALFlushCommitMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5977,7 +5977,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.5311">replayFlushInStores</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5315">replayFlushInStores</a>(org.apache.hadoop.hbase.shaded.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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -5999,7 +5999,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>dropMemStoreContents</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5352">dropMemStoreContents</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5356">dropMemStoreContents</a>()
                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Be careful, this method will drop all data in the memstore of this region.
  Currently, this method is used to drop memstore to prevent memory leak
@@ -6016,7 +6016,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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5374">dropMemStoreContentsForSeqId</a>(long&nbsp;seqId,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5378">dropMemStoreContentsForSeqId</a>(long&nbsp;seqId,
                                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store)
                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Drops the memstore contents after replaying a flush descriptor or region open event replay
@@ -6033,7 +6033,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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5405">doDropStoreMemStoreContentsForSeqId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;s,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5409">doDropStoreMemStoreContentsForSeqId</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;s,
                                                          long&nbsp;currentSeqId)
                                                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -6048,7 +6048,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.5415">replayWALFlushAbortMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5419">replayWALFlushAbortMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)</pre>
 </li>
 </ul>
 <a name="replayWALFlushCannotFlushMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor-long-">
@@ -6057,7 +6057,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.5421">replayWALFlushCannotFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5425">replayWALFlushCannotFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                              long&nbsp;replaySeqId)</pre>
 </li>
 </ul>
@@ -6067,7 +6067,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.5441">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.5445">getPrepareFlushResult</a>()</pre>
 </li>
 </ul>
 <a name="replayWALRegionEventMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor-">
@@ -6076,7 +6076,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.5447">replayWALRegionEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5451">replayWALRegionEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)
                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6090,7 +6090,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.5563">replayWALBulkLoadEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5567">replayWALBulkLoadEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)
                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6104,7 +6104,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.5646">dropPrepareFlushIfPossible</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5650">dropPrepareFlushIfPossible</a>()</pre>
 <div class="block">If all stores ended up dropping their snapshots, we can safely drop the prepareFlushResult</div>
 </li>
 </ul>
@@ -6114,7 +6114,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.5673">refreshStoreFiles</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5677">refreshStoreFiles</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#refreshStoreFiles--">Region</a></code></span></div>
 <div class="block">Check the region's underlying store files, open the files that have not
@@ -6134,7 +6134,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.5679">refreshStoreFiles</a>(boolean&nbsp;force)
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5683">refreshStoreFiles</a>(boolean&nbsp;force)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6148,7 +6148,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.5770">logRegionFiles</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5774">logRegionFiles</a>()</pre>
 </li>
 </ul>
 <a name="checkTargetRegion-byte:A-java.lang.String-java.lang.Object-">
@@ -6157,7 +6157,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.5782">checkTargetRegion</a>(byte[]&nbsp;encodedRegionName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5786">checkTargetRegion</a>(byte[]&nbsp;encodedRegionName,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;exceptionMsg,
                                <a href="https://docs.oracle.com/javase/8/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>
@@ -6175,7 +6175,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;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5805">restoreEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;s,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5809">restoreEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;s,
                            <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSizing.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreSizing</a>&nbsp;memstoreAccounting)</pre>
 <div class="block">Used by tests</div>
@@ -6192,7 +6192,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.5814">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.5818">isZeroLengthThenDelete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                               org.apache.hadoop.fs.Path&nbsp;p)
                                        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -6211,7 +6211,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.5825">instantiateHStore</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</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.5829">instantiateHStore</a>(<a href="../../../../../org/apache/hadoop/hbase/client/ColumnFamilyDescriptor.html" title="interface in org.apache.hadoop.hbase.client">ColumnFamilyDescriptor</a>&nbsp;family,
                                    boolean&nbsp;warmup)
                             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -6226,7 +6226,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/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.5839">getStore</a>(byte[]&nbsp;column)</pre>
+<pre>public&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.5843">getStore</a>(byte[]&nbsp;column)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStore-byte:A-">Region</a></code></span></div>
 <div class="block">Return the Store for the given family
  <p>Use with caution.  Exposed for use of fixup utilities.</div>
@@ -6244,7 +6244,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/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.5847">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/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.5851">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>
@@ -6255,7 +6255,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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5853">getStores</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5857">getStores</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStores--">Region</a></code></span></div>
 <div class="block">Return the list of Stores managed by this region
  <p>Use with caution.  Exposed for use of fixup utilities.</div>
@@ -6273,7 +6273,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="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5858">getStoreFileList</a>(byte[][]&nbsp;columns)
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5862">getStoreFileList</a>(byte[][]&nbsp;columns)
                               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -6291,7 +6291,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.5886">checkRow</a>(byte[]&nbsp;row,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5890">checkRow</a>(byte[]&nbsp;row,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;op)
        throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Make sure this is a valid row for the HRegion</div>
@@ -6307,7 +6307,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.5903">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.5907">getRowLock</a>(byte[]&nbsp;row)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Get an exclusive ( write lock ) lock on a given row.</div>
 <dl>
@@ -6326,7 +6326,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.5908">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.5912">getRowLock</a>(byte[]&nbsp;row,
                                  boolean&nbsp;readLock)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRowLock-byte:A-boolean-">Region</a></code></span></div>
@@ -6361,7 +6361,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLockInternal</h4>
-<pre>protected&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.5913">getRowLockInternal</a>(byte[]&nbsp;row,
+<pre>protected&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.5917">getRowLockInternal</a>(byte[]&nbsp;row,
                                             boolean&nbsp;readLock,
                                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&nbsp;prevRowLock)
                                      throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -6377,7 +6377,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>releaseRowLocks</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5996">releaseRowLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6000">releaseRowLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a>&gt;&nbsp;rowLocks)</pre>
 </li>
 </ul>
 <a name="getReadLockCount--">
@@ -6386,7 +6386,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadLockCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6006">getReadLockCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6010">getReadLockCount</a>()</pre>
 </li>
 </ul>
 <a name="getLockedRows--">
@@ -6395,7 +6395,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getLockedRows</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.R [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/HashedBytes.html" title="class in org.apache.hadoop.hbase.util">HashedBytes</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.R [...]
 </li>
 </ul>
 <a name="hasMultipleColumnFamilies-java.util.Collection-">
@@ -6404,7 +6404,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.6117">hasMultipleColumnFamilies</a>(<a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/a [...]
+<pre>private static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6121">hasMultipleColumnFamilies</a>(<a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/a [...]
 <div class="block">Determines whether multiple column families are present
  Precondition: familyPaths is not null</div>
 <dl>
@@ -6419,7 +6419,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;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6143">bulkLoadHFiles</a>(<a href="https://docs.oracle.com/jav [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6147">bulkLoadHFiles</a>(<a href="https://docs.oracle.com/jav [...]
                                                                   boolean&nbsp;assignSeqId,
                                                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.BulkLoadListener</a>&nbsp;bulkLoadListener)
                                                            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -6444,7 +6444,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;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6194">bulkLoadHFiles</a>(<a href="https://docs.oracle.com/jav [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.Path&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6198">bulkLoadHFiles</a>(<a href="https://docs.oracle.com/jav [...]
                                                                   boolean&nbsp;assignSeqId,
                                                                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.BulkLoadListener</a>&nbsp;bulkLoadListener,
                                                                   boolean&nbsp;copyFile,
@@ -6473,7 +6473,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.6390">equals</a>(<a href="https://docs.oracle.com/javase/8/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.6394">equals</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -6486,7 +6486,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.6396">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6400">hashCode</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -6499,7 +6499,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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6401">toString</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6405">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -6512,7 +6512,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>newHRegion</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.7096">newHRegion</a>(org.apache.hadoop.fs.Path&nbsp;tableDir,
+<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.7103">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,
@@ -6547,7 +6547,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.7126">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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.7133">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                     org.apache.hadoop.fs.Path&nbsp;rootDir,
                                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;hTableDescriptor,
@@ -6574,7 +6574,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionDir</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7146">createRegionDir</a>(org.apache.hadoop.conf.Configuration&nbsp;configuration,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7153">createRegionDir</a>(org.apache.hadoop.conf.Configuration&nbsp;configuration,
                                                 <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;ri,
                                                 org.apache.hadoop.fs.Path&nbsp;rootDir)
                                          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -6591,7 +6591,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.7156">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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.7163">createHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                     org.apache.hadoop.fs.Path&nbsp;rootDir,
                                     org.apache.hadoop.conf.Configuration&nbsp;conf,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;hTableDescriptor,
@@ -6609,7 +6609,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.7176">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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.7183">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</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)
@@ -6635,7 +6635,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.7198">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</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.7205">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</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,
@@ -6667,7 +6667,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.7219">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.7226">openHRegion</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                   <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -6697,7 +6697,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.7240">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.7247">openHRegion</a>(org.apache.hadoop.fs.Path&nbsp;rootDir,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                   <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;htd,
                                   <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
@@ -6731,7 +6731,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.7268">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.7275">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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
@@ -6763,7 +6763,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.7289">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.7296">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/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
@@ -6799,7 +6799,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.7312">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.7319">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,
@@ -6836,7 +6836,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getReplicationScope</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7326">getReplicationScope</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7333">getReplicationScope</a>()</pre>
 </li>
 </ul>
 <a name="openHRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.util.CancelableProgressable-">
@@ -6845,7 +6845,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.7336">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.7343">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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Useful when reopening a closed region (normally for unit tests)</div>
@@ -6866,7 +6866,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.7344">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.7351">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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -6881,7 +6881,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.7354">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.7361">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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Open HRegion.
  Calls initialize and sets sequenceId.</div>
@@ -6899,7 +6899,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>openReadOnlyFileSystemHRegion</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.7393">openReadOnlyFileSystemHRegion</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.7400">openReadOnlyFileSystemHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                     org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                     org.apache.hadoop.fs.Path&nbsp;tableDir,
                                                     <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
@@ -6925,7 +6925,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.7409">warmupHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7416">warmupHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                  <a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</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,
@@ -6944,7 +6944,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.7437">checkCompressionCodecs</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7444">checkCompressionCodecs</a>()
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6958,7 +6958,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.7444">checkEncryption</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7451">checkEncryption</a>()
                       throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6972,7 +6972,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.7450">checkClassLoading</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7457">checkClassLoading</a>()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -6987,7 +6987,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <li class="blockList">
 <h4>getRegionDir</h4>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7464">getRegionDir</a>(org.apache.hadoop.fs.Path&nbsp;tabledir,
+public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7471">getRegionDir</a>(org.apache.hadoop.fs.Path&nbsp;tabledir,
                                                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">For tests only; to be removed.</span></div>
 <div class="block">Computes the Path of the HRegion</div>
@@ -7006,7 +7006,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>rowIsInRange</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7476">rowIsInRange</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7483">rowIsInRange</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                    byte[]&nbsp;row)</pre>
 <div class="block">Determines if the specified row is within the row range specified by the
  specified RegionInfo</div>
@@ -7025,7 +7025,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>rowIsInRange</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7483">rowIsInRange</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7490">rowIsInRange</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;info,
                                    byte[]&nbsp;row,
                                    int&nbsp;offset,
                                    short&nbsp;length)</pre>
@@ -7037,7 +7037,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&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/HRegion.html#line.7493">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre>public&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/HRegion.html#line.7500">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#get-org.apache.hadoop.hbase.client.Get-">Region</a></code></span></div>
 <div class="block">Do a get based on the get parameter.</div>
@@ -7059,7 +7059,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareGet</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7500">prepareGet</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7507">prepareGet</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get)
          throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -7073,7 +7073,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7515">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clien [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7522">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clien [...]
                       boolean&nbsp;withCoprocessor)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#get-org.apache.hadoop.hbase.client.Get-boolean-">Region</a></code></span></div>
@@ -7098,7 +7098,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7519">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clien [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7526">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clien [...]
                       boolean&nbsp;withCoprocessor,
                       long&nbsp;nonceGroup,
                       long&nbsp;nonce)
@@ -7115,7 +7115,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsUpdateForGet</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7554">metricsUpdateForGet</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7561">metricsUpdateForGet</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;results,
                          long&nbsp;before)</pre>
 </li>
 </ul>
@@ -7125,7 +7125,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7561">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7568">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#mutateRow-org.apache.hadoop.hbase.client.RowMutations-">Region</a></code></span></div>
 <div class="block">Performs multiple mutations atomically on a single row. Currently
@@ -7146,7 +7146,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRowsWithLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7581">mutateRowsWithLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7588">mutateRowsWithLocks</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;byte[]&gt;&nbsp;rowsToLock,
                                 long&nbsp;nonceGroup,
                                 long&nbsp;nonce)
@@ -7175,7 +7175,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getLoadStatistics</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionLoadStats&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7609">getLoadStatistics</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionLoadStats&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7616">getLoadStatistics</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>statistics about the current load of the region</dd>
@@ -7188,7 +7188,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7632">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7639">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#processRowsWithLocks-org.apache.hadoop.hbase.regionserver.RowProcessor-">Region</a></code></span></div>
 <div class="block">Performs atomic multiple reads and writes on a given row.</div>
@@ -7208,7 +7208,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7637">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7644">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                  long&nbsp;nonceGroup,
                                  long&nbsp;nonce)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -7232,7 +7232,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>processRowsWithLocks</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7643">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7650">processRowsWithLocks</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                  long&nbsp;timeout,
                                  long&nbsp;nonceGroup,
                                  long&nbsp;nonce)
@@ -7259,7 +7259,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>preProcess</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7768">preProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7780">preProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
@@ -7274,7 +7274,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doProcessRowWithTimeout</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7778">doProcessRowWithTimeout</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7790">doProcessRowWithTimeout</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;?,?&gt;&nbsp;processor,
                                      long&nbsp;now,
                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                                      <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;mutations,
@@ -7293,7 +7293,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&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/HRegion.html#line.7828">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
+<pre>public&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/HRegion.html#line.7840">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#append-org.apache.hadoop.hbase.client.Append-">Region</a></code></span></div>
 <div class="block">Perform one or more append operations on a row.</div>
@@ -7313,7 +7313,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>public&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/HRegion.html#line.7832">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation,
+<pre>public&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/HRegion.html#line.7844">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;mutation,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -7329,7 +7329,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre>public&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/HRegion.html#line.7837">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
+<pre>public&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/HRegion.html#line.7849">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#increment-org.apache.hadoop.hbase.client.Increment-">Region</a></code></span></div>
 <div class="block">Perform one or more increment operations on a row.</div>
@@ -7349,7 +7349,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre>public&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/HRegion.html#line.7841">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;mutation,
+<pre>public&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/HRegion.html#line.7853">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;mutation,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -7365,7 +7365,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doDelta</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/HRegion.html#line.7855">doDelta</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+<pre>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/HRegion.html#line.7867">doDelta</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                        long&nbsp;nonceGroup,
                        long&nbsp;nonce,
@@ -7391,7 +7391,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doWALAppend</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7934">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7950">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                                               <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
                                                               long&nbsp;nonceGroup,
                                                               long&nbsp;nonce)
@@ -7408,7 +7408,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doWALAppend</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7941">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7957">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                                               <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
                                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds,
                                                               long&nbsp;now,
@@ -7427,7 +7427,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doWALAppend</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7950">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7966">doWALAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                                               <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability,
                                                               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;clusterIds,
                                                               long&nbsp;now,
@@ -7449,7 +7449,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doCoprocessorPreCall</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/HRegion.html#line.7996">doCoprocessorPreCall</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+<pre>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/HRegion.html#line.8012">doCoprocessorPreCall</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
                              throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Do coprocessor pre-increment or pre-append call.</div>
@@ -7468,7 +7468,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reckonDeltas</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8022">reckonDeltas</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8038">reckonDeltas</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
                              <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                              <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hb [...]
@@ -7494,7 +7494,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reckonDeltasByStore</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8068">reckonDeltasByStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8084">reckonDeltasByStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org [...]
                                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                        <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;effectiveDurability,
@@ -7527,7 +7527,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reckonDelta</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8144">reckonDelta</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8160">reckonDelta</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;delta,
                                 <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;currentCell,
                                 byte[]&nbsp;columnFamily,
                                 long&nbsp;now,
@@ -7546,7 +7546,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getLongValue</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8172">getLongValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>private static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8188">getLongValue</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                           throws <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -7562,7 +7562,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>get</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8188">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8204">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase [...]
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;coordinates,
                        <a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolation,
@@ -7587,7 +7587,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>sort</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8212">sort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class [...]
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8228">sort</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class [...]
                                <a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -7601,7 +7601,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8251">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8267">heapSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></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>
@@ -7617,7 +7617,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>registerService</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8271">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8287">registerService</a>(com.google.protobuf.Service&nbsp;instance)</pre>
 <div class="block">Registers a new protocol buffer <code>Service</code> subclass as a coprocessor endpoint to
  be available for handling Region#execService(com.google.protobuf.RpcController,
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.CoprocessorServiceCall) calls.
@@ -7643,7 +7643,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>execService</h4>
-<pre>public&nbsp;com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8306">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8322">execService</a>(com.google.protobuf.RpcController&nbsp;controller,
                                                org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceCall&nbsp;call)
                                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Executes a single protocol buffer coprocessor endpoint <code>Service</code> method using
@@ -7671,7 +7671,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldForceSplit</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8357">shouldForceSplit</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8373">shouldForceSplit</a>()</pre>
 </li>
 </ul>
 <a name="getExplicitSplitPoint--">
@@ -7680,7 +7680,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getExplicitSplitPoint</h4>
-<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8361">getExplicitSplitPoint</a>()</pre>
+<pre>byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8377">getExplicitSplitPoint</a>()</pre>
 </li>
 </ul>
 <a name="forceSplit-byte:A-">
@@ -7689,7 +7689,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>forceSplit</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8365">forceSplit</a>(byte[]&nbsp;sp)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8381">forceSplit</a>(byte[]&nbsp;sp)</pre>
 </li>
 </ul>
 <a name="clearSplit--">
@@ -7698,7 +7698,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>clearSplit</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8374">clearSplit</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8390">clearSplit</a>()</pre>
 </li>
 </ul>
 <a name="checkSplit--">
@@ -7707,7 +7707,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSplit</h4>
-<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8385">checkSplit</a>()</pre>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8401">checkSplit</a>()</pre>
 <div class="block">Return the splitpoint. null indicates the region isn't splittable
  If the splitpoint isn't explicitly specified, it will go over the stores
  to find the best splitpoint. Currently the criteria of best splitpoint
@@ -7720,7 +7720,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8419">getCompactPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8435">getCompactPriority</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The priority that this region should have in the compaction queue</dd>
@@ -7733,7 +7733,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCoprocessorHost</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8425">getCoprocessorHost</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8441">getCoprocessorHost</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the coprocessor host</dd>
@@ -7746,7 +7746,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>setCoprocessorHost</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8431">setCoprocessorHost</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;coprocessorHost)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8447">setCoprocessorHost</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a>&nbsp;coprocessorHost)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>coprocessorHost</code> - the new coprocessor host</dd>
@@ -7759,7 +7759,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8436">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8452">startRegionOperation</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation--">Region</a></code></span></div>
 <div class="block">This method needs to be called before any public call that reads or
@@ -7781,7 +7781,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8441">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8457">startRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;op)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation-org.apache.hadoop.hbase.regionserver.Region.Operation-">Region</a></code></span></div>
 <div class="block">This method needs to be called before any public call that reads or
@@ -7805,7 +7805,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8480">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8496">closeRegionOperation</a>()
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#closeRegionOperation--">Region</a></code></span></div>
 <div class="block">Closes the region operation lock.</div>
@@ -7823,7 +7823,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8485">closeRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8501">closeRegionOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a>&nbsp;operation)
                           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#closeRegionOperation-org.apache.hadoop.hbase.regionserver.Region.Operation-">Region</a></code></span></div>
 <div class="block">Closes the region operation lock. This needs to be called in the finally block corresponding
@@ -7842,7 +7842,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>startBulkRegionOperation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8504">startBulkRegionOperation</a>(boolean&nbsp;writeLockNeeded)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8520">startBulkRegionOperation</a>(boolean&nbsp;writeLockNeeded)
                                throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</a>,
                                       <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a>,
                                       <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
@@ -7864,7 +7864,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>closeBulkRegionOperation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8522">closeBulkRegionOperation</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8538">closeBulkRegionOperation</a>()</pre>
 <div class="block">Closes the lock. This needs to be called in the finally block corresponding
  to the try block of #startRegionOperation</div>
 </li>
@@ -7875,7 +7875,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>recordMutationWithoutWal</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8531">recordMutationWithoutWal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.h [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8547">recordMutationWithoutWal</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.h [...]
 <div class="block">Update LongAdders for number of puts without wal and the size of possible data loss.
  These information are exposed by the region server metrics.</div>
 </li>
@@ -7886,7 +7886,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8553">lock</a>(<a href="https://docs.oracle.com/javase/8/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>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8569">lock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock)
            throws <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a>,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
 <dl>
@@ -7902,7 +7902,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>lock</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8562">lock</a>(<a href="https://docs.oracle.com/javase/8/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>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8578">lock</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock,
                   int&nbsp;multiplier)
            throws <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a>,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io">InterruptedIOException</a></pre>
@@ -7922,7 +7922,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>sync</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8589">sync</a>(long&nbsp;txid,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8605">sync</a>(long&nbsp;txid,
                   <a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a>&nbsp;durability)
            throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Calls sync with the given transaction ID</div>
@@ -7940,7 +7940,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldSyncWAL</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8621">shouldSyncWAL</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8637">shouldSyncWAL</a>()</pre>
 <div class="block">Check whether we should sync the wal from the table's durability settings</div>
 </li>
 </ul>
@@ -7950,7 +7950,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getOpenSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8652">getOpenSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8668">getOpenSeqNum</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the latest sequence number that was read from storage when this region was opened</dd>
@@ -7963,7 +7963,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxStoreSeqId</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8657">getMaxStoreSeqId</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8673">getMaxStoreSeqId</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMaxStoreSeqId--">getMaxStoreSeqId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></code></dd>
@@ -7979,7 +7979,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getOldestSeqIdOfStore</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8661">getOldestSeqIdOfStore</a>(byte[]&nbsp;familyName)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8677">getOldestSeqIdOfStore</a>(byte[]&nbsp;familyName)</pre>
 </li>
 </ul>
 <a name="getCompactionState--">
@@ -7988,7 +7988,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompactionState</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8666">getCompactionState</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client">CompactionState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8682">getCompactionState</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCompactionState--">getCompactionState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></code></dd>
@@ -8003,7 +8003,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reportCompactionRequestStart</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8672">reportCompactionRequestStart</a>(boolean&nbsp;isMajor)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8688">reportCompactionRequestStart</a>(boolean&nbsp;isMajor)</pre>
 </li>
 </ul>
 <a name="reportCompactionRequestEnd-boolean-int-long-">
@@ -8012,7 +8012,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reportCompactionRequestEnd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8676">reportCompactionRequestEnd</a>(boolean&nbsp;isMajor,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8692">reportCompactionRequestEnd</a>(boolean&nbsp;isMajor,
                                        int&nbsp;numFiles,
                                        long&nbsp;filesSizeCompacted)</pre>
 </li>
@@ -8023,7 +8023,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>reportCompactionRequestFailure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8687">reportCompactionRequestFailure</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8703">reportCompactionRequestFailure</a>()</pre>
 </li>
 </ul>
 <a name="incrementCompactionsQueuedCount--">
@@ -8032,7 +8032,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCompactionsQueuedCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8691">incrementCompactionsQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8707">incrementCompactionsQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="decrementCompactionsQueuedCount--">
@@ -8041,7 +8041,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>decrementCompactionsQueuedCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8695">decrementCompactionsQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8711">decrementCompactionsQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="incrementFlushesQueuedCount--">
@@ -8050,7 +8050,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementFlushesQueuedCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8699">incrementFlushesQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8715">incrementFlushesQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="getReadPoint--">
@@ -8059,7 +8059,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8704">getReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8720">getReadPoint</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -8068,7 +8068,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8712">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8728">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
  object when the <code>Configuration</code> object is reloaded from disk.</div>
 <dl>
@@ -8083,7 +8083,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>registerChildren</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8720">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8736">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
 <div class="block">Needs to be called to register the children to the manager.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -8099,7 +8099,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>deregisterChildren</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8729">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8745">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a>&nbsp;manager)</pre>
 <div class="block">Needs to be called to deregister the children from the manager.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -8115,7 +8115,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellComparator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8734">getCellComparator</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8750">getCellComparator</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCellComparator--">Region</a></code></span></div>
 <div class="block">The comparator to be used with the region</div>
 <dl>
@@ -8130,7 +8130,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreFlushSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8739">getMemStoreFlushSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8755">getMemStoreFlushSize</a>()</pre>
 </li>
 </ul>
 <a name="throwException-java.lang.String-java.lang.String-">
@@ -8139,7 +8139,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>throwException</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8745">throwException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;title,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8761">throwException</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;title,
                     <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;regionName)</pre>
 </li>
 </ul>
@@ -8149,7 +8149,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8766">requestCompaction</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8782">requestCompaction</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
                               int&nbsp;priority,
                               boolean&nbsp;major,
                               <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.compactions">CompactionLifeCycleTracker</a>&nbsp;tracker)
@@ -8170,7 +8170,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8776">requestCompaction</a>(byte[]&nbsp;family,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8792">requestCompaction</a>(byte[]&nbsp;family,
                               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;why,
                               int&nbsp;priority,
                               boolean&nbsp;major,
@@ -8192,7 +8192,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestFlushIfNeeded</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8790">requestFlushIfNeeded</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8806">requestFlushIfNeeded</a>()
                            throws <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -8206,7 +8206,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <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.8796">requestFlush</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8812">requestFlush</a>()</pre>
 </li>
 </ul>
 <a name="requestFlush0-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">
@@ -8215,7 +8215,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestFlush0</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8803">requestFlush0</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8819">requestFlush0</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)</pre>
 </li>
 </ul>
 <a name="requestFlush-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">
@@ -8224,7 +8224,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>requestFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8823">requestFlush</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8839">requestFlush</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)
                   throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#requestFlush-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">Region</a></code></span></div>
 <div class="block">Request flush on this region.</div>
@@ -8242,7 +8242,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>decorateRegionConfiguration</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8832">decorateRegionConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8848">decorateRegionConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">This method modifies the region's configuration in order to inject replication-related
  features</div>
 <dl>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html
index e5b3e9d..82d4439 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -111,7 +111,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>@InterfaceStability.Evolving
  @InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.41">MetricsRegionServer</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.42">MetricsRegionServer</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><p>
  This class is for maintaining the various regionserver statistics
@@ -166,9 +166,17 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#RS_ENABLE_TABLE_METRICS_KEY">RS_ENABLE_TABLE_METRICS_KEY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverReadQueryMeter">serverReadQueryMeter</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverSource">serverSource</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#serverWriteQueryMeter">serverWriteQueryMeter</a></span></code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#tableMetrics">tableMetrics</a></span></code>&nbsp;</td>
@@ -309,22 +317,40 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReplay-long-">updateReplay</a></span>(long&nbsp;t)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                    long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateReplay-long-">updateReplay</a></span>(long&nbsp;t)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateScanSize-org.apache.hadoop.hbase.TableName-long-">updateScanSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
               long&nbsp;scanSize)</code>&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateScanTime-org.apache.hadoop.hbase.TableName-long-">updateScanTime</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
               long&nbsp;t)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateSplitTime-long-">updateSplitTime</a></span>(long&nbsp;t)</code>&nbsp;</td>
 </tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</code>&nbsp;</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                     long&nbsp;count)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -353,7 +379,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>RS_ENABLE_TABLE_METRICS_KEY</h4>
-<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/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/MetricsRegionServer.html#line.42">RS_ENABLE_TABLE_METRICS_KEY</a></pre>
+<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/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/MetricsRegionServer.html#line.43">RS_ENABLE_TABLE_METRICS_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.RS_ENABLE_TABLE_METRICS_KEY">Constant Field Values</a></dd>
@@ -366,7 +392,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>RS_ENABLE_TABLE_METRICS_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.44">RS_ENABLE_TABLE_METRICS_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.45">RS_ENABLE_TABLE_METRICS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsRegionServer.RS_ENABLE_TABLE_METRICS_DEFAULT">Constant Field Values</a></dd>
@@ -379,7 +405,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>serverSource</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.46">serverSource</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.47">serverSource</a></pre>
 </li>
 </ul>
 <a name="regionServerWrapper">
@@ -388,7 +414,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServerWrapper</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.47">regionServerWrapper</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.48">regionServerWrapper</a></pre>
 </li>
 </ul>
 <a name="tableMetrics">
@@ -397,7 +423,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>tableMetrics</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.48">tableMetrics</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.49">tableMetrics</a></pre>
 </li>
 </ul>
 <a name="metricsTable">
@@ -406,7 +432,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>metricsTable</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.49">metricsTable</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTable</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.50">metricsTable</a></pre>
 </li>
 </ul>
 <a name="quotaSource">
@@ -415,7 +441,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>quotaSource</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerQuotaSource</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.50">quotaSource</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerQuotaSource</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.51">quotaSource</a></pre>
 </li>
 </ul>
 <a name="metricRegistry">
@@ -424,16 +450,34 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>metricRegistry</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.52">metricRegistry</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.53">metricRegistry</a></pre>
 </li>
 </ul>
 <a name="bulkLoadTimer">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>bulkLoadTimer</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Timer.html" title="interface in org.apache.hadoop.hbase.metrics">Timer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.53">bulkLoadTimer</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Timer.html" title="interface in org.apache.hadoop.hbase.metrics">Timer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.54">bulkLoadTimer</a></pre>
+</li>
+</ul>
+<a name="serverReadQueryMeter">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serverReadQueryMeter</h4>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.55">serverReadQueryMeter</a></pre>
+</li>
+</ul>
+<a name="serverWriteQueryMeter">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>serverWriteQueryMeter</h4>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.56">serverWriteQueryMeter</a></pre>
 </li>
 </ul>
 </li>
@@ -450,7 +494,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>MetricsRegionServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.55">MetricsRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;regionServerWrapper,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.58">MetricsRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;regionServerWrapper,
                            org.apache.hadoop.conf.Configuration&nbsp;conf,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTable</a>&nbsp;metricsTable)</pre>
 </li>
@@ -461,7 +505,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsRegionServer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.73">MetricsRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;regionServerWrapper,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.78">MetricsRegionServer</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;regionServerWrapper,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a>&nbsp;serverSource,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a>&nbsp;tableMetrics,
                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTable</a>&nbsp;metricsTable)</pre>
@@ -481,7 +525,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createTableMetrics</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.86">createTableMetrics</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.91">createTableMetrics</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 <div class="block">Creates an instance of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver"><code>RegionServerTableMetrics</code></a> only if the feature is enabled.</div>
 </li>
 </ul>
@@ -491,7 +535,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetricsSource</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.94">getMetricsSource</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.99">getMetricsSource</a>()</pre>
 </li>
 </ul>
 <a name="getRegionServerWrapper--">
@@ -500,7 +544,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerWrapper</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.98">getRegionServerWrapper</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerWrapper</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.103">getRegionServerWrapper</a>()</pre>
 </li>
 </ul>
 <a name="updatePutBatch-org.apache.hadoop.hbase.TableName-long-">
@@ -509,7 +553,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePutBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.102">updatePutBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.107">updatePutBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                            long&nbsp;t)</pre>
 </li>
 </ul>
@@ -519,7 +563,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.112">updatePut</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.117">updatePut</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                       long&nbsp;t)</pre>
 </li>
 </ul>
@@ -529,7 +573,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.119">updateDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.124">updateDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                          long&nbsp;t)</pre>
 </li>
 </ul>
@@ -539,7 +583,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDeleteBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.126">updateDeleteBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.131">updateDeleteBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                               long&nbsp;t)</pre>
 </li>
 </ul>
@@ -549,7 +593,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCheckAndDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.136">updateCheckAndDelete</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.141">updateCheckAndDelete</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateCheckAndPut-long-">
@@ -558,7 +602,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCheckAndPut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.140">updateCheckAndPut</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.145">updateCheckAndPut</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateGet-org.apache.hadoop.hbase.TableName-long-">
@@ -567,7 +611,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.144">updateGet</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.149">updateGet</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                       long&nbsp;t)</pre>
 </li>
 </ul>
@@ -577,7 +621,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateIncrement</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.154">updateIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.159">updateIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                             long&nbsp;t)</pre>
 </li>
 </ul>
@@ -587,7 +631,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateAppend</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.164">updateAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.169">updateAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                          long&nbsp;t)</pre>
 </li>
 </ul>
@@ -597,7 +641,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateReplay</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.174">updateReplay</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.179">updateReplay</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateScanSize-org.apache.hadoop.hbase.TableName-long-">
@@ -606,7 +650,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.178">updateScanSize</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.183">updateScanSize</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                            long&nbsp;scanSize)</pre>
 </li>
 </ul>
@@ -616,7 +660,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.185">updateScanTime</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.190">updateScanTime</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                            long&nbsp;t)</pre>
 </li>
 </ul>
@@ -626,7 +670,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateSplitTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.192">updateSplitTime</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.197">updateSplitTime</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="incrSplitRequest--">
@@ -635,7 +679,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>incrSplitRequest</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.196">incrSplitRequest</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.201">incrSplitRequest</a>()</pre>
 </li>
 </ul>
 <a name="incrSplitSuccess--">
@@ -644,7 +688,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>incrSplitSuccess</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.200">incrSplitSuccess</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.205">incrSplitSuccess</a>()</pre>
 </li>
 </ul>
 <a name="updateFlush-java.lang.String-long-long-long-">
@@ -653,7 +697,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateFlush</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.204">updateFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.209">updateFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table,
                         long&nbsp;t,
                         long&nbsp;memstoreSize,
                         long&nbsp;fileSize)</pre>
@@ -665,7 +709,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateCompaction</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.217">updateCompaction</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.222">updateCompaction</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;table,
                              boolean&nbsp;isMajor,
                              long&nbsp;t,
                              int&nbsp;inputFileCount,
@@ -680,7 +724,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateBulkLoad</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.234">updateBulkLoad</a>(long&nbsp;millis)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.239">updateBulkLoad</a>(long&nbsp;millis)</pre>
 </li>
 </ul>
 <a name="incrementNumRegionSizeReportsSent-long-">
@@ -689,7 +733,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementNumRegionSizeReportsSent</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.241">incrementNumRegionSizeReportsSent</a>(long&nbsp;numReportsSent)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.246">incrementNumRegionSizeReportsSent</a>(long&nbsp;numReportsSent)</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html#incrementNumRegionSizeReportsSent-long-"><code>MetricsRegionServerQuotaSource.incrementNumRegionSizeReportsSent(long)</code></a></dd>
@@ -699,16 +743,54 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="incrementRegionSizeReportingChoreTime-long-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>incrementRegionSizeReportingChoreTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.248">incrementRegionSizeReportingChoreTime</a>(long&nbsp;time)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.253">incrementRegionSizeReportingChoreTime</a>(long&nbsp;time)</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerQuotaSource.html#incrementRegionSizeReportingChoreTime-long-"><code>MetricsRegionServerQuotaSource.incrementRegionSizeReportingChoreTime(long)</code></a></dd>
 </dl>
 </li>
 </ul>
+<a name="updateReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.257">updateReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                                 long&nbsp;count)</pre>
+</li>
+</ul>
+<a name="updateReadQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.264">updateReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</pre>
+</li>
+</ul>
+<a name="updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.271">updateWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
+                                  long&nbsp;count)</pre>
+</li>
+</ul>
+<a name="updateWriteQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html#line.278">updateWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html
index 8cfaef5..067ea25 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" target="_top">Frames</a></li>
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.38">MetricsTableLatenciesImpl.TableHistograms</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.40">MetricsTableLatenciesImpl.TableHistograms</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -266,7 +266,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.39">getTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.41">getTimeHisto</a></pre>
 </li>
 </ul>
 <a name="incrementTimeHisto">
@@ -275,7 +275,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.40">incrementTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.42">incrementTimeHisto</a></pre>
 </li>
 </ul>
 <a name="appendTimeHisto">
@@ -284,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>appendTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.41">appendTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.43">appendTimeHisto</a></pre>
 </li>
 </ul>
 <a name="putTimeHisto">
@@ -293,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>putTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.42">putTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.44">putTimeHisto</a></pre>
 </li>
 </ul>
 <a name="putBatchTimeHisto">
@@ -302,7 +302,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>putBatchTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.43">putBatchTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.45">putBatchTimeHisto</a></pre>
 </li>
 </ul>
 <a name="deleteTimeHisto">
@@ -311,7 +311,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.44">deleteTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.46">deleteTimeHisto</a></pre>
 </li>
 </ul>
 <a name="deleteBatchTimeHisto">
@@ -320,7 +320,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteBatchTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.45">deleteBatchTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.47">deleteBatchTimeHisto</a></pre>
 </li>
 </ul>
 <a name="scanTimeHisto">
@@ -329,7 +329,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>scanTimeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.46">scanTimeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.48">scanTimeHisto</a></pre>
 </li>
 </ul>
 <a name="scanSizeHisto">
@@ -338,7 +338,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scanSizeHisto</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.47">scanSizeHisto</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/metrics2/MetricHistogram.html" title="interface in org.apache.hadoop.metrics2">MetricHistogram</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.49">scanSizeHisto</a></pre>
 </li>
 </ul>
 </li>
@@ -355,7 +355,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TableHistograms</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.49">TableHistograms</a>(<a href="../../../../../org/apache/hadoop/metrics2/lib/DynamicMetricsRegistry.html" title="class in org.apache.hadoop.metrics2.lib">DynamicMetricsRegistry</a>&nbsp;registry,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.51">TableHistograms</a>(<a href="../../../../../org/apache/hadoop/metrics2/lib/DynamicMetricsRegistry.html" title="class in org.apache.hadoop.metrics2.lib">DynamicMetricsRegistry</a>&nbsp;registry,
                 <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn)</pre>
 </li>
 </ul>
@@ -373,7 +373,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.63">updatePut</a>(long&nbsp;time)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.65">updatePut</a>(long&nbsp;time)</pre>
 </li>
 </ul>
 <a name="updatePutBatch-long-">
@@ -382,7 +382,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePutBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.67">updatePutBatch</a>(long&nbsp;time)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.69">updatePutBatch</a>(long&nbsp;time)</pre>
 </li>
 </ul>
 <a name="updateDelete-long-">
@@ -391,7 +391,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.71">updateDelete</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.73">updateDelete</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateDeleteBatch-long-">
@@ -400,7 +400,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDeleteBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.75">updateDeleteBatch</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.77">updateDeleteBatch</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateGet-long-">
@@ -409,7 +409,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.79">updateGet</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.81">updateGet</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateIncrement-long-">
@@ -418,7 +418,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateIncrement</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.83">updateIncrement</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.85">updateIncrement</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateAppend-long-">
@@ -427,7 +427,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateAppend</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.87">updateAppend</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.89">updateAppend</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 <a name="updateScanSize-long-">
@@ -436,7 +436,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.91">updateScanSize</a>(long&nbsp;scanSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.93">updateScanSize</a>(long&nbsp;scanSize)</pre>
 </li>
 </ul>
 <a name="updateScanTime-long-">
@@ -445,7 +445,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>updateScanTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.95">updateScanTime</a>(long&nbsp;t)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html#line.97">updateScanTime</a>(long&nbsp;t)</pre>
 </li>
 </ul>
 </li>
@@ -477,7 +477,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" target="_top">Frames</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html
index 14fcbd2..c94c39b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.33">MetricsTableLatenciesImpl</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.35">MetricsTableLatenciesImpl</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html" title="class in org.apache.hadoop.hbase.metrics">BaseSourceImpl</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableLatencies</a></pre>
 <div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>MetricsTableLatencies</code></a> to track latencies for one table in a
@@ -225,71 +225,76 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#getMetrics-org.apache.hadoop.metrics2.MetricsCollector-boolean-">getMetrics</a></span>(org.apache.hadoop.metrics2.MetricsCollector&nbsp;metricsCollector,
+          boolean&nbsp;all)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistograms</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#getOrCreateTableHistogram-java.lang.String-">getOrCreateTableHistogram</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metric)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateAppend-java.lang.String-long-">updateAppend</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
             long&nbsp;t)</code>
 <div class="block">Update the Append time histogram.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateDelete-java.lang.String-long-">updateDelete</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
             long&nbsp;t)</code>
 <div class="block">Update the Delete time histogram</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateDeleteBatch-java.lang.String-long-">updateDeleteBatch</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                  long&nbsp;t)</code>
 <div class="block">Update the batch Delete time histogram</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateGet-java.lang.String-long-">updateGet</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
          long&nbsp;t)</code>
 <div class="block">Update the Get time histogram .</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateIncrement-java.lang.String-long-">updateIncrement</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                long&nbsp;t)</code>
 <div class="block">Update the Increment time histogram.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updatePut-java.lang.String-long-">updatePut</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
          long&nbsp;t)</code>
 <div class="block">Update the Put time histogram</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updatePutBatch-java.lang.String-long-">updatePutBatch</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
               long&nbsp;t)</code>
 <div class="block">Update the batch Put time histogram</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateScanSize-java.lang.String-long-">updateScanSize</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
               long&nbsp;scanSize)</code>
 <div class="block">Update the scan size.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#updateScanTime-java.lang.String-long-">updateScanTime</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
               long&nbsp;t)</code>
@@ -302,7 +307,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.metrics.<a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html" title="class in org.apache.hadoop.hbase.metrics">BaseSourceImpl</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#decGauge-java.lang.String-long-">decGauge</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetrics-org.apache.hadoop.metrics2.MetricsCollector-boolean-">getMetrics</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetricsContext--">getMetricsContext</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetrics [...]
+<code><a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#decGauge-java.lang.String-long-">decGauge</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetricsContext--">getMetricsContext</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetricsDescription--">getMetricsDescription</a>, <a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetricsJmxContext--">getMetricsJmxCo [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -338,7 +343,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockListLast">
 <li class="blockList">
 <h4>histogramsByTable</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistogra [...]
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistogra [...]
 </li>
 </ul>
 </li>
@@ -355,7 +360,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>MetricsTableLatenciesImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.121">MetricsTableLatenciesImpl</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.123">MetricsTableLatenciesImpl</a>()</pre>
 </li>
 </ul>
 <a name="MetricsTableLatenciesImpl-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">
@@ -364,7 +369,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MetricsTableLatenciesImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.125">MetricsTableLatenciesImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metricsName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.127">MetricsTableLatenciesImpl</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metricsName,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metricsDescription,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metricsContext,
                                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metricsJmxContext)</pre>
@@ -384,7 +389,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>qualifyMetricsName</h4>
-<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.101">qualifyMetricsName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.103">qualifyMetricsName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metric)</pre>
 </li>
 </ul>
@@ -394,7 +399,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrCreateTableHistogram</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistograms</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.110">getOrCreateTableHistogram</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in  [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistograms</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.112">getOrCreateTableHistogram</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in  [...]
 </li>
 </ul>
 <a name="updatePut-java.lang.String-long-">
@@ -403,7 +408,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.131">updatePut</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.133">updatePut</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                       long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updatePut-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the Put time histogram</div>
@@ -422,7 +427,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePutBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.136">updatePutBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.138">updatePutBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                            long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updatePutBatch-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the batch Put time histogram</div>
@@ -441,7 +446,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.141">updateDelete</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.143">updateDelete</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                          long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateDelete-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the Delete time histogram</div>
@@ -460,7 +465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDeleteBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.146">updateDeleteBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.148">updateDeleteBatch</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                               long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateDeleteBatch-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the batch Delete time histogram</div>
@@ -479,7 +484,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.151">updateGet</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.153">updateGet</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                       long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateGet-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the Get time histogram .</div>
@@ -498,7 +503,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateIncrement</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.156">updateIncrement</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.158">updateIncrement</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                             long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateIncrement-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the Increment time histogram.</div>
@@ -517,7 +522,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateAppend</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.161">updateAppend</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.163">updateAppend</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                          long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateAppend-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the Append time histogram.</div>
@@ -536,7 +541,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.166">updateScanSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.168">updateScanSize</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                            long&nbsp;scanSize)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateScanSize-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the scan size.</div>
@@ -552,10 +557,10 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 <a name="updateScanTime-java.lang.String-long-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>updateScanTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.171">updateScanTime</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.173">updateScanTime</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tableName,
                            long&nbsp;t)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html#updateScanTime-java.lang.String-long-">MetricsTableLatencies</a></code></span></div>
 <div class="block">Update the scan time.</div>
@@ -568,6 +573,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsT
 </dl>
 </li>
 </ul>
+<a name="getMetrics-org.apache.hadoop.metrics2.MetricsCollector-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMetrics</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.html#line.178">getMetrics</a>(org.apache.hadoop.metrics2.MetricsCollector&nbsp;metricsCollector,
+                       boolean&nbsp;all)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getMetrics</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.metrics2.MetricsSource</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html#getMetrics-org.apache.hadoop.metrics2.MetricsCollector-boolean-">getMetrics</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/metrics/BaseSourceImpl.html" title="class in org.apache.hadoop.hbase.metrics">BaseSourceImpl</a></code></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html
similarity index 52%
copy from devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
copy to devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html
index a437968..e1009c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HRegion.BulkLoadListener (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<title>MetricsTableQueryMeter (Apache HBase 3.0.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +12,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HRegion.BulkLoadListener (Apache HBase 3.0.0-SNAPSHOT API)";
+            parent.document.title="MetricsTableQueryMeter (Apache HBase 3.0.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.BulkLoadListener.html">Use</a></li>
+<li><a href="class-use/MetricsTableQueryMeter.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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BulkLoadListener.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeter.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,7 +93,7 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
-<h2 title="Interface HRegion.BulkLoadListener" class="title">Interface HRegion.BulkLoadListener</h2>
+<h2 title="Interface MetricsTableQueryMeter" class="title">Interface MetricsTableQueryMeter</h2>
 </div>
 <div class="contentContainer">
 <div class="description">
@@ -101,18 +101,13 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.SecureBulkLoadListener.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager.SecureBulkLoadListener</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6153">HRegion.BulkLoadListener</a></pre>
-<div class="block">Listener class to enable callers of
- bulkLoadHFile() to perform any necessary
- pre/post processing of a given bulkload call</div>
+<pre>@InterfaceAudience.Private
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#line.26">MetricsTableQueryMeter</a></pre>
+<div class="block">Query Per Second for each table in a RegionServer.</div>
 </li>
 </ul>
 </div>
@@ -133,24 +128,28 @@ var activeTableTab = "activeTableTab";
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#doneBulkLoad-byte:A-java.lang.String-">doneBulkLoad</a></span>(byte[]&nbsp;family,
-            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)</code>
-<div class="block">Called after a successful HFile load</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table read QPS</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#failedBulkLoad-byte:A-java.lang.String-">failedBulkLoad</a></span>(byte[]&nbsp;family,
-              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)</code>
-<div class="block">Called after a failed HFile load</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                         long&nbsp;count)</code>
+<div class="block">Update table read QPS</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#prepareBulkLoad-byte:A-java.lang.String-boolean-">prepareBulkLoad</a></span>(byte[]&nbsp;family,
-               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath,
-               boolean&nbsp;copyFile)</code>
-<div class="block">Called before an HFile is actually loaded</div>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table write QPS</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                          long&nbsp;count)</code>
+<div class="block">Update table write QPS</div>
 </td>
 </tr>
 </table>
@@ -168,63 +167,63 @@ var activeTableTab = "activeTableTab";
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="prepareBulkLoad-byte:A-java.lang.String-boolean-">
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableReadQueryMeter</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#line.33">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                               long&nbsp;count)</pre>
+<div class="block">Update table read QPS</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - The table the metric is for</dd>
+<dd><code>count</code> - Number of occurrences to record</dd>
+</dl>
+</li>
+</ul>
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>prepareBulkLoad</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6161">prepareBulkLoad</a>(byte[]&nbsp;family,
-                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath,
-                       boolean&nbsp;copyFile)
-                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Called before an HFile is actually loaded</div>
+<h4>updateTableReadQueryMeter</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#line.39">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<div class="block">Update table read QPS</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>family</code> - family being loaded to</dd>
-<dd><code>srcPath</code> - path of HFile</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>final path to be used for actual loading</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code>tableName</code> - The table the metric is for</dd>
 </dl>
 </li>
 </ul>
-<a name="doneBulkLoad-byte:A-java.lang.String-">
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>doneBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6170">doneBulkLoad</a>(byte[]&nbsp;family,
-                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
-           throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Called after a successful HFile load</div>
+<h4>updateTableWriteQueryMeter</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#line.46">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                                long&nbsp;count)</pre>
+<div class="block">Update table write QPS</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>family</code> - family being loaded to</dd>
-<dd><code>srcPath</code> - path of HFile</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code>tableName</code> - The table the metric is for</dd>
+<dd><code>count</code> - Number of occurrences to record</dd>
 </dl>
 </li>
 </ul>
-<a name="failedBulkLoad-byte:A-java.lang.String-">
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>failedBulkLoad</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.6178">failedBulkLoad</a>(byte[]&nbsp;family,
-                    <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;srcPath)
-             throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Called after a failed HFile load</div>
+<h4>updateTableWriteQueryMeter</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#line.52">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<div class="block">Update table write QPS</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>family</code> - family being loaded to</dd>
-<dd><code>srcPath</code> - path of HFile</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+<dd><code>tableName</code> - The table the metric is for</dd>
 </dl>
 </li>
 </ul>
@@ -247,7 +246,7 @@ var activeTableTab = "activeTableTab";
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.BulkLoadListener.html">Use</a></li>
+<li><a href="class-use/MetricsTableQueryMeter.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>
@@ -256,12 +255,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html" target="_top">Frames</a></li>
-<li><a href="HRegion.BulkLoadListener.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeter.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html
similarity index 56%
copy from devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
copy to devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html
index 5c042e1..41a2b81 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>HRegion.RowLockImpl (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<title>MetricsTableQueryMeterImpl.TableMeters (Apache HBase 3.0.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HRegion.RowLockImpl (Apache HBase 3.0.0-SNAPSHOT API)";
+            parent.document.title="MetricsTableQueryMeterImpl.TableMeters (Apache HBase 3.0.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.RowLockImpl.html">Use</a></li>
+<li><a href="class-use/MetricsTableQueryMeterImpl.TableMeters.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>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" target="_top">Frames</a></li>
-<li><a href="HRegion.RowLockImpl.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.TableMeters.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,14 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
-<h2 title="Class HRegion.RowLockImpl" class="title">Class HRegion.RowLockImpl</h2>
+<h2 title="Class MetricsTableQueryMeterImpl.TableMeters" class="title">Class MetricsTableQueryMeterImpl.TableMeters</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.hadoop.hbase.regionserver.HRegion.RowLockImpl</li>
+<li>org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TableMeters</li>
 </ul>
 </li>
 </ul>
@@ -108,19 +108,13 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></dd>
-</dl>
-<dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6078">HRegion.RowLockImpl</a>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/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>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.43">MetricsTableQueryMeterImpl.TableMeters</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
 </div>
@@ -140,12 +134,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#context">context</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableReadQueryMeter">tableReadQueryMeter</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#lock">lock</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#tableWriteQueryMeter">tableWriteQueryMeter</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -162,8 +156,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#RowLockImpl-org.apache.hadoop.hbase.regionserver.HRegion.RowLockContext-java.util.concurrent.locks.Lock-">RowLockImpl</a></span>(<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="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a>&nbsp;lock)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#TableMeters-org.apache.hadoop.hbase.metrics.MetricRegistry-org.apache.hadoop.hbase.TableName-">TableMeters</a></span>(<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry,
+           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -181,22 +175,20 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#getContext--">getContext</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableReadQueryMeter--">updateTableReadQueryMeter</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#getLock--">getLock</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableReadQueryMeter-long-">updateTableReadQueryMeter</a></span>(long&nbsp;count)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#release--">release</a></span>()</code>
-<div class="block">Release the given lock.</div>
-</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableWriteQueryMeter--">updateTableWriteQueryMeter</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#toString--">toString</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#updateTableWriteQueryMeter-long-">updateTableWriteQueryMeter</a></span>(long&nbsp;count)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -204,7 +196,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
-<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
 </ul>
 </li>
 </ul>
@@ -220,22 +212,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="context">
+<a name="tableReadQueryMeter">
 <!--   -->
 </a>
 <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.6079">context</a></pre>
+<h4>tableReadQueryMeter</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.44">tableReadQueryMeter</a></pre>
 </li>
 </ul>
-<a name="lock">
+<a name="tableWriteQueryMeter">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>lock</h4>
-<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/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.6080">lock</a></pre>
+<h4>tableWriteQueryMeter</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/Meter.html" title="interface in org.apache.hadoop.hbase.metrics">Meter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.45">tableWriteQueryMeter</a></pre>
 </li>
 </ul>
 </li>
@@ -246,14 +238,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="RowLockImpl-org.apache.hadoop.hbase.regionserver.HRegion.RowLockContext-java.util.concurrent.locks.Lock-">
+<a name="TableMeters-org.apache.hadoop.hbase.metrics.MetricRegistry-org.apache.hadoop.hbase.TableName-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>RowLockImpl</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6082">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="https://docs.oracle.com/javase/8/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>
+<h4>TableMeters</h4>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.47">TableMeters</a>(<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry,
+            <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
 </li>
 </ul>
 </li>
@@ -264,51 +256,40 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getLock--">
+<a name="updateTableReadQueryMeter-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getLock</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/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.6087">getLock</a>()</pre>
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.54">updateTableReadQueryMeter</a>(long&nbsp;count)</pre>
 </li>
 </ul>
-<a name="getContext--">
+<a name="updateTableReadQueryMeter--">
 <!--   -->
 </a>
 <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.6092">getContext</a>()</pre>
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.58">updateTableReadQueryMeter</a>()</pre>
 </li>
 </ul>
-<a name="release--">
+<a name="updateTableWriteQueryMeter-long-">
 <!--   -->
 </a>
 <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.6097">release</a>()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release--">Region.RowLock</a></code></span></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>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html#release--">release</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></code></dd>
-</dl>
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.62">updateTableWriteQueryMeter</a>(long&nbsp;count)</pre>
 </li>
 </ul>
-<a name="toString--">
+<a name="updateTableWriteQueryMeter--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.6103">toString</a>()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
-</dl>
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html#line.66">updateTableWriteQueryMeter</a>()</pre>
 </li>
 </ul>
 </li>
@@ -330,7 +311,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HRegion.RowLockImpl.html">Use</a></li>
+<li><a href="class-use/MetricsTableQueryMeterImpl.TableMeters.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>
@@ -339,12 +320,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html" target="_top">Frames</a></li>
-<li><a href="HRegion.RowLockImpl.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.TableMeters.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html
new file mode 100644
index 0000000..c91f741
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html
@@ -0,0 +1,495 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetricsTableQueryMeterImpl (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MetricsTableQueryMeterImpl (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricsTableQueryMeterImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
+<h2 title="Class MetricsTableQueryMeterImpl" class="title">Class MetricsTableQueryMeterImpl</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></dd>
+</dl>
+<hr>
+<br>
+<pre>@InterfaceAudience.Private
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.32">MetricsTableQueryMeterImpl</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></pre>
+<div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>MetricsTableQueryMeter</code></a> to track query per second for each table in
+ a RegionServer.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters< [...]
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metersByTable">metersByTable</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metricRegistry">metricRegistry</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_READ_QUERY_PER_SECOND">TABLE_READ_QUERY_PER_SECOND</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#TABLE_WRITE_QUERY_PER_SECOND">TABLE_WRITE_QUERY_PER_SECOND</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#MetricsTableQueryMeterImpl-org.apache.hadoop.hbase.metrics.MetricRegistry-">MetricsTableQueryMeterImpl</a></span>(<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd [...]
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#getOrCreateTableMeter-org.apache.hadoop.hbase.TableName-">getOrCreateTableMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">qualifyMetricsName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                  <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metric)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table read QPS</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                         long&nbsp;count)</code>
+<div class="block">Update table read QPS</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
+<div class="block">Update table write QPS</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                          long&nbsp;count)</code>
+<div class="block">Update table write QPS</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
+</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="metersByTable">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>metersByTable</h4>
+<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a>&gt; <a  [...]
+</li>
+</ul>
+<a name="metricRegistry">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>metricRegistry</h4>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.34">metricRegistry</a></pre>
+</li>
+</ul>
+<a name="TABLE_READ_QUERY_PER_SECOND">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_READ_QUERY_PER_SECOND</h4>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/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/MetricsTableQueryMeterImpl.html#line.36">TABLE_READ_QUERY_PER_SECOND</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TABLE_READ_QUERY_PER_SECOND">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="TABLE_WRITE_QUERY_PER_SECOND">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TABLE_WRITE_QUERY_PER_SECOND</h4>
+<pre>private static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/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/MetricsTableQueryMeterImpl.html#line.37">TABLE_WRITE_QUERY_PER_SECOND</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TABLE_WRITE_QUERY_PER_SECOND">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="MetricsTableQueryMeterImpl-org.apache.hadoop.hbase.metrics.MetricRegistry-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MetricsTableQueryMeterImpl</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.39">MetricsTableQueryMeterImpl</a>(<a href="../../../../../org/apache/hadoop/hbase/metrics/MetricRegistry.html" title="interface in org.apache.hadoop.hbase.metrics">MetricRegistry</a>&nbsp;metricRegistry)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="qualifyMetricsName-org.apache.hadoop.hbase.TableName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>qualifyMetricsName</h4>
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.71">qualifyMetricsName</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                                         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;metric)</pre>
+</li>
+</ul>
+<a name="getOrCreateTableMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOrCreateTableMeter</h4>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.79">getOrCreateTableMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table [...]
+</li>
+</ul>
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.84">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                                      long&nbsp;count)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">MetricsTableQueryMeter</a></code></span></div>
+<div class="block">Update table read QPS</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - The table the metric is for</dd>
+<dd><code>count</code> - Number of occurrences to record</dd>
+</dl>
+</li>
+</ul>
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.89">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">MetricsTableQueryMeter</a></code></span></div>
+<div class="block">Update table read QPS</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - The table the metric is for</dd>
+</dl>
+</li>
+</ul>
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.94">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                                       long&nbsp;count)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">MetricsTableQueryMeter</a></code></span></div>
+<div class="block">Update table write QPS</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - The table the metric is for</dd>
+<dd><code>count</code> - Number of occurrences to record</dd>
+</dl>
+</li>
+</ul>
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#line.99">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">MetricsTableQueryMeter</a></code></span></div>
+<div class="block">Update table write QPS</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - The table the metric is for</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricsTableQueryMeterImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableSource.html b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableSource.html
index 1fcb36c..0bef16d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableSource.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/MetricsTableSource.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -530,7 +530,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html
index 35860f1..2dd6785 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Private
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.28">RegionServerTableMetrics</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.29">RegionServerTableMetrics</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Captures operation metrics by table. Separates metrics collection for table metrics away from
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>MetricsRegionServer</code></a> for encapsulation and ease of testing.</div>
@@ -136,6 +136,10 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableLatencies</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#latencies">latencies</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#queryMeter">queryMeter</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -213,6 +217,24 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateScanTime-org.apache.hadoop.hbase.TableName-long-">updateScanTime</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
               long&nbsp;time)</code>&nbsp;</td>
 </tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableReadQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                         long&nbsp;count)</code>&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">updateTableWriteQueryMeter</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                          long&nbsp;count)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -238,10 +260,19 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <a name="latencies">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>latencies</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableLatencies</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.30">latencies</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableLatencies</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.31">latencies</a></pre>
+</li>
+</ul>
+<a name="queryMeter">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>queryMeter</h4>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.32">queryMeter</a></pre>
 </li>
 </ul>
 </li>
@@ -258,7 +289,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionServerTableMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.32">RegionServerTableMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.34">RegionServerTableMetrics</a>()</pre>
 </li>
 </ul>
 </li>
@@ -275,7 +306,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.36">updatePut</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.40">updatePut</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                       long&nbsp;time)</pre>
 </li>
 </ul>
@@ -285,7 +316,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updatePutBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.40">updatePutBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.44">updatePutBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                            long&nbsp;time)</pre>
 </li>
 </ul>
@@ -295,7 +326,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateGet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.44">updateGet</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.48">updateGet</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                       long&nbsp;time)</pre>
 </li>
 </ul>
@@ -305,7 +336,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateIncrement</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.48">updateIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.52">updateIncrement</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                             long&nbsp;time)</pre>
 </li>
 </ul>
@@ -315,7 +346,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateAppend</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.52">updateAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.56">updateAppend</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                          long&nbsp;time)</pre>
 </li>
 </ul>
@@ -325,7 +356,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.56">updateDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.60">updateDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                          long&nbsp;time)</pre>
 </li>
 </ul>
@@ -335,7 +366,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDeleteBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.60">updateDeleteBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.64">updateDeleteBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                               long&nbsp;time)</pre>
 </li>
 </ul>
@@ -345,20 +376,58 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>updateScanTime</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.64">updateScanTime</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.68">updateScanTime</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                            long&nbsp;time)</pre>
 </li>
 </ul>
 <a name="updateScanSize-org.apache.hadoop.hbase.TableName-long-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>updateScanSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.68">updateScanSize</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.72">updateScanSize</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
                            long&nbsp;size)</pre>
 </li>
 </ul>
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.76">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                                      long&nbsp;count)</pre>
+</li>
+</ul>
+<a name="updateTableReadQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableReadQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.80">updateTableReadQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+</li>
+</ul>
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.84">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+                                       long&nbsp;count)</pre>
+</li>
+</ul>
+<a name="updateTableWriteQueryMeter-org.apache.hadoop.hbase.TableName-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateTableWriteQueryMeter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#line.88">updateTableWriteQueryMeter</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html
new file mode 100644
index 0000000..633db30
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeter (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeter (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeter" class="title">Uses of Interface<br>org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that implement <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</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>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></span></code>
+<div class="block">Implementation of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>MetricsTableQueryMeter</code></a> to track query per second for each table in
+ a RegionServer.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionServerTableMetrics.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html#queryMeter">queryMeter</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html
new file mode 100644
index 0000000..9b10baa
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TableMeters (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TableMeters (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.TableMeters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TableMeters" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl.TableMeters</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.regionserver">org.apache.hadoop.hbase.regionserver</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.regionserver">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a> in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> with type parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableM [...]
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#metersByTable">metersByTable</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a> that return <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsTableQueryMeterImpl.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html#getOrCreateTableMeter-org.apache.hadoop.hbase.TableName-">getOrCreateTableMeter</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.TableMeters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.html
new file mode 100644
index 0000000..4d4db64
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl (Apache HBase 3.0.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl (Apache HBase 3.0.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.regionserver.MetricsTableQueryMeterImpl</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../../../../../../overview-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.html" target="_top">Frames</a></li>
+<li><a href="MetricsTableQueryMeterImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
index b8bdf81..953e070 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
@@ -44,6 +44,7 @@
 <li><a href="MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsRegionWrapper</span></a></li>
 <li><a href="MetricsTableAggregateSource.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableAggregateSource</span></a></li>
 <li><a href="MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableLatencies</span></a></li>
+<li><a href="MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableQueryMeter</span></a></li>
 <li><a href="MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableSource</span></a></li>
 <li><a href="MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MetricsTableWrapperAggregate</span></a></li>
 <li><a href="MutableOnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver" target="classFrame"><span class="interfaceName">MutableOnlineRegions</span></a></li>
@@ -180,6 +181,8 @@
 <li><a href="MetricsTableAggregateSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableAggregateSourceImpl</a></li>
 <li><a href="MetricsTableLatenciesImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableLatenciesImpl</a></li>
 <li><a href="MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableLatenciesImpl.TableHistograms</a></li>
+<li><a href="MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableQueryMeterImpl</a></li>
+<li><a href="MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableQueryMeterImpl.TableMeters</a></li>
 <li><a href="MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableSourceImpl</a></li>
 <li><a href="MetricsTableWrapperAggregateImpl.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableWrapperAggregateImpl</a></li>
 <li><a href="MetricsTableWrapperAggregateImpl.MetricsTableValues.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsTableWrapperAggregateImpl.MetricsTableValues</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
index 0a077c7..a4154fb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
@@ -272,149 +272,155 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a></td>
+<td class="colLast">
+<div class="block">Query Per Second for each table in a RegionServer.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableSource</a></td>
 <td class="colLast">
 <div class="block">This interface will be implemented to allow region server to push table metrics into
  MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableWrapperAggregate</a></td>
 <td class="colLast">
 <div class="block">Interface of class that will wrap a MetricsTableSource and export numbers so they can be
  used in MetricsTableSource</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MutableOnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver">MutableOnlineRegions</a></td>
 <td class="colLast">
 <div class="block">Interface to Map of online regions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver">OnlineRegions</a></td>
 <td class="colLast">
 <div class="block">Provides read-only access to the Regions presently online on the
  current RegionServer</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a></td>
 <td class="colLast">
 <div class="block">Region is a subset of HRegion with operations required for the <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><code>Coprocessors</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.RowLock.html" title="interface in org.apache.hadoop.hbase.regionserver">Region.RowLock</a></td>
 <td class="colLast">
 <div class="block">Row lock held by a given thread.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a></td>
 <td class="colLast">
 <div class="block">RegionScanner describes iterators over rows in an HRegion.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a></td>
 <td class="colLast">
 <div class="block">A curated subset of services provided by <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionServer</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationService</a></td>
 <td class="colLast">
 <div class="block">Gateway to Cluster Replication.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSinkService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSinkService</a></td>
 <td class="colLast">
 <div class="block">A sink for a replication stream has to expose this service.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReplicationSourceService.html" title="interface in org.apache.hadoop.hbase.regionserver">ReplicationSourceService</a></td>
 <td class="colLast">
 <div class="block">A source for a replication stream has to expose this service.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver">RowProcessor</a>&lt;S extends com.google.protobuf.Message,T extends com.google.protobuf.Message&gt;</td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">As of release 2.0.0, this will be removed in HBase 3.0.0.</span></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.html" title="interface in org.apache.hadoop.hbase.regionserver">RpcSchedulerFactory</a></td>
 <td class="colLast">
 <div class="block">A factory class that constructs an <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc"><code>RpcScheduler</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.LogDelegate.html" title="interface in org.apache.hadoop.hbase.regionserver">RSRpcServices.LogDelegate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanOptions.html" title="interface in org.apache.hadoop.hbase.regionserver">ScanOptions</a></td>
 <td class="colLast">
 <div class="block">This class gives you the ability to change the max versions and TTL options before opening a
  scanner for a Store.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SequenceId.html" title="interface in org.apache.hadoop.hbase.regionserver">SequenceId</a></td>
 <td class="colLast">
 <div class="block">Interface which abstracts implementations on log sequenceId assignment</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html" title="interface in org.apache.hadoop.hbase.regionserver">Shipper</a></td>
 <td class="colLast">
 <div class="block">This interface denotes a scanner as one which can ship cells.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html" title="interface in org.apache.hadoop.hbase.regionserver">ShipperListener</a></td>
 <td class="colLast">
 <div class="block">Implementors of this interface are the ones who needs to do some action when the
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--"><code>Shipper.shipped()</code></a> is called</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.html" title="interface in org.apache.hadoop.hbase.regionserver">SplitLogWorker.TaskExecutor</a></td>
 <td class="colLast">
 <div class="block">Objects implementing this interface actually do the task that has been
  acquired by a <a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.html" title="class in org.apache.hadoop.hbase.regionserver"><code>SplitLogWorker</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a></td>
 <td class="colLast">
 <div class="block">Interface for objects that hold a column family in a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreConfigInformation.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreConfigInformation</a></td>
 <td class="colLast">
 <div class="block">A more restricted interface for HStore.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFile.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFile</a></td>
 <td class="colLast">
 <div class="block">An interface to describe a store data file.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileManager.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFileManager</a></td>
 <td class="colLast">
 <div class="block">Manages the store files and basic metadata about that that determines the logical structure
  (e.g.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlushContext.html" title="interface in org.apache.hadoop.hbase.regionserver">StoreFlushContext</a></td>
 <td class="colLast">
 <div class="block">A package protected interface for a store flushing.</div>
@@ -1101,6 +1107,17 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl</a></td>
+<td class="colLast">
+<div class="block">Implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>MetricsTableQueryMeter</code></a> to track query per second for each table in
+ a RegionServer.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsTableSourceImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index 77a0abc..680df5d 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -359,6 +359,8 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionWrapperImpl.HRegionMetricsWrapperRunnable</span></a> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTable</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableLatenciesImpl.TableHistograms</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl.TableMeters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableSourceImpl</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableSource</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregateImpl</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, org.apache.hadoop.hbase.regionserver.<a href=". [...]
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.MetricsTableValues.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregateImpl.MetricsTableValues</span></a></li>
@@ -665,6 +667,7 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerWrapper</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionWrapper</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableLatencies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregate</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">OnlineRegions</span></a>
 <ul>
@@ -715,20 +718,20 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactionStrategy.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactingMemStore.IndexType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">CompactingMemStore.IndexType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ChunkCreator.ChunkType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ChunkCreator.ChunkType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">HRegion.FlushResult.Result</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TimeRangeTracker.Type</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
index de4590b..7d31af6 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
@@ -1492,6 +1492,14 @@ service.</div>
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/MetricsTableLatenciesImpl.TableHistograms.html#org.apache.hadoop.hbase.regionserver">MetricsTableLatenciesImpl.TableHistograms</a>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeter.html#org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a>
+<div class="block">Query Per Second for each table in a RegionServer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/MetricsTableQueryMeterImpl.TableMeters.html#org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeterImpl.TableMeters</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/MetricsTableSource.html#org.apache.hadoop.hbase.regionserver">MetricsTableSource</a>
 <div class="block">This interface will be implemented to allow region server to push table metrics into
  MetricsRegionAggregateSource that will in turn push data to the Hadoop metrics system.</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 03a894e..45a338f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -130,9 +130,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 </ul>
 </li>
 </ul>
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 22a50da..0a7e84c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -247,10 +247,10 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.RollRequestReason.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALActionsListener.RollRequestReason</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
 </ul>
 </li>
 </ul>
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 23e71ca..52a783a 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -162,12 +162,12 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</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="typeNameLink">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="typeNameLink">Permission.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType</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="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Scope.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Scope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.AclType</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="typeNameLink">Permission.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index bd591e2..3412365 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -192,9 +192,9 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 2d9b08d..60c52af 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -211,8 +211,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <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="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ImplType</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index 208c20c..4a33522 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -540,14 +540,14 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HbckErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HbckErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HbckErrorReporter.ERROR_CODE</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index bdae3d8..8c4c41b 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -192,8 +192,8 @@
 <ul>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true [...]
 <ul>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 3189490..e9038f7 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -2359,6 +2359,8 @@
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/MetricsSource.html" title="class in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsSource</span></a> (implements org.apache.hadoop.hbase.metrics.<a href="org/apache/hadoop/hbase/metrics/BaseSource.html" title="interface in org.apache.hadoop.hbase.metrics">BaseSource</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTable.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTable</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatenciesImpl.TableHistograms.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableLatenciesImpl.TableHistograms</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableQueryMeter</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeterImpl.TableMeters.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeterImpl.TableMeters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableSourceImpl</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsTableSource</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregateImpl</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoo [...]
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregateImpl.MetricsTableValues.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregateImpl.MetricsTableValues</span></a></li>
@@ -5007,6 +5009,7 @@
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSinkSource.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSinkSource</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/MetricsReplicationSourceFactory.html" title="interface in org.apache.hadoop.hbase.replication.regionserver"><span class="typeNameLink">MetricsReplicationSourceFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableLatencies.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableLatencies</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableQueryMeter.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableQueryMeter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsTableWrapperAggregate.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsTableWrapperAggregate</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.html" title="interface in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.mode.<a href="org/apache/hadoop/hbase/hbtop/mode/ModeStrategy.html" title="interface in org.apache.hadoop.hbase.hbtop.mode"><span class="typeNameLink">ModeStrategy</span></a></li>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 46f66cb..b43ecc0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,9 +16,9 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "537c5f0660fa6ce0b59cd7bb93de95fd3975cd25";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "56489819bc835c9231053b550215f139c9da648e";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Sun Sep 22 14:35:09 UTC 2019";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Mon Sep 23 14:39:12 UTC 2019";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://jenkins-websites-he-de.apache.org/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
 <span class="sourceLineNo">015</span>  public static final String srcChecksum = "(stdin)=";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
index 8191aa8..f657f5d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
@@ -4091,4763 +4091,4779 @@
 <span class="sourceLineNo">4083</span>        requestFlushIfNeeded();<a name="line.4083"></a>
 <span class="sourceLineNo">4084</span>      }<a name="line.4084"></a>
 <span class="sourceLineNo">4085</span>    } finally {<a name="line.4085"></a>
-<span class="sourceLineNo">4086</span>      batchOp.closeRegionOperation();<a name="line.4086"></a>
-<span class="sourceLineNo">4087</span>    }<a name="line.4087"></a>
-<span class="sourceLineNo">4088</span>    return batchOp.retCodeDetails;<a name="line.4088"></a>
-<span class="sourceLineNo">4089</span>  }<a name="line.4089"></a>
-<span class="sourceLineNo">4090</span><a name="line.4090"></a>
-<span class="sourceLineNo">4091</span>  /**<a name="line.4091"></a>
-<span class="sourceLineNo">4092</span>   * Called to do a piece of the batch that came in to {@link #batchMutate(Mutation[], long, long)}<a name="line.4092"></a>
-<span class="sourceLineNo">4093</span>   * In here we also handle replay of edits on region recover. Also gets change in size brought<a name="line.4093"></a>
-<span class="sourceLineNo">4094</span>   * about by applying {@code batchOp}.<a name="line.4094"></a>
-<span class="sourceLineNo">4095</span>   */<a name="line.4095"></a>
-<span class="sourceLineNo">4096</span>  private void doMiniBatchMutate(BatchOperation&lt;?&gt; batchOp) throws IOException {<a name="line.4096"></a>
-<span class="sourceLineNo">4097</span>    boolean success = false;<a name="line.4097"></a>
-<span class="sourceLineNo">4098</span>    WALEdit walEdit = null;<a name="line.4098"></a>
-<span class="sourceLineNo">4099</span>    WriteEntry writeEntry = null;<a name="line.4099"></a>
-<span class="sourceLineNo">4100</span>    boolean locked = false;<a name="line.4100"></a>
-<span class="sourceLineNo">4101</span>    // We try to set up a batch in the range [batchOp.nextIndexToProcess,lastIndexExclusive)<a name="line.4101"></a>
-<span class="sourceLineNo">4102</span>    MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp = null;<a name="line.4102"></a>
-<span class="sourceLineNo">4103</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.4103"></a>
-<span class="sourceLineNo">4104</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.size());<a name="line.4104"></a>
-<span class="sourceLineNo">4105</span>    try {<a name="line.4105"></a>
-<span class="sourceLineNo">4106</span>      // STEP 1. Try to acquire as many locks as we can and build mini-batch of operations with<a name="line.4106"></a>
-<span class="sourceLineNo">4107</span>      // locked rows<a name="line.4107"></a>
-<span class="sourceLineNo">4108</span>      miniBatchOp = batchOp.lockRowsAndBuildMiniBatch(acquiredRowLocks);<a name="line.4108"></a>
-<span class="sourceLineNo">4109</span><a name="line.4109"></a>
-<span class="sourceLineNo">4110</span>      // We've now grabbed as many mutations off the list as we can<a name="line.4110"></a>
-<span class="sourceLineNo">4111</span>      // Ensure we acquire at least one.<a name="line.4111"></a>
-<span class="sourceLineNo">4112</span>      if (miniBatchOp.getReadyToWriteCount() &lt;= 0) {<a name="line.4112"></a>
-<span class="sourceLineNo">4113</span>        // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.4113"></a>
-<span class="sourceLineNo">4114</span>        return;<a name="line.4114"></a>
-<span class="sourceLineNo">4115</span>      }<a name="line.4115"></a>
-<span class="sourceLineNo">4116</span><a name="line.4116"></a>
-<span class="sourceLineNo">4117</span>      lock(this.updatesLock.readLock(), miniBatchOp.getReadyToWriteCount());<a name="line.4117"></a>
-<span class="sourceLineNo">4118</span>      locked = true;<a name="line.4118"></a>
-<span class="sourceLineNo">4119</span><a name="line.4119"></a>
-<span class="sourceLineNo">4120</span>      // STEP 2. Update mini batch of all operations in progress with  LATEST_TIMESTAMP timestamp<a name="line.4120"></a>
-<span class="sourceLineNo">4121</span>      // We should record the timestamp only after we have acquired the rowLock,<a name="line.4121"></a>
-<span class="sourceLineNo">4122</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.4122"></a>
-<span class="sourceLineNo">4123</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.4123"></a>
-<span class="sourceLineNo">4124</span>      batchOp.prepareMiniBatchOperations(miniBatchOp, now, acquiredRowLocks);<a name="line.4124"></a>
-<span class="sourceLineNo">4125</span><a name="line.4125"></a>
-<span class="sourceLineNo">4126</span>      // STEP 3. Build WAL edit<a name="line.4126"></a>
-<span class="sourceLineNo">4127</span>      List&lt;Pair&lt;NonceKey, WALEdit&gt;&gt; walEdits = batchOp.buildWALEdits(miniBatchOp);<a name="line.4127"></a>
-<span class="sourceLineNo">4128</span><a name="line.4128"></a>
-<span class="sourceLineNo">4129</span>      // STEP 4. Append the WALEdits to WAL and sync.<a name="line.4129"></a>
-<span class="sourceLineNo">4130</span>      for(Iterator&lt;Pair&lt;NonceKey, WALEdit&gt;&gt; it = walEdits.iterator(); it.hasNext();) {<a name="line.4130"></a>
-<span class="sourceLineNo">4131</span>        Pair&lt;NonceKey, WALEdit&gt; nonceKeyWALEditPair = it.next();<a name="line.4131"></a>
-<span class="sourceLineNo">4132</span>        walEdit = nonceKeyWALEditPair.getSecond();<a name="line.4132"></a>
-<span class="sourceLineNo">4133</span>        NonceKey nonceKey = nonceKeyWALEditPair.getFirst();<a name="line.4133"></a>
-<span class="sourceLineNo">4134</span><a name="line.4134"></a>
-<span class="sourceLineNo">4135</span>        if (walEdit != null &amp;&amp; !walEdit.isEmpty()) {<a name="line.4135"></a>
-<span class="sourceLineNo">4136</span>          writeEntry = doWALAppend(walEdit, batchOp.durability, batchOp.getClusterIds(), now,<a name="line.4136"></a>
-<span class="sourceLineNo">4137</span>              nonceKey.getNonceGroup(), nonceKey.getNonce(), batchOp.getOrigLogSeqNum());<a name="line.4137"></a>
-<span class="sourceLineNo">4138</span>        }<a name="line.4138"></a>
-<span class="sourceLineNo">4139</span><a name="line.4139"></a>
-<span class="sourceLineNo">4140</span>        // Complete mvcc for all but last writeEntry (for replay case)<a name="line.4140"></a>
-<span class="sourceLineNo">4141</span>        if (it.hasNext() &amp;&amp; writeEntry != null) {<a name="line.4141"></a>
-<span class="sourceLineNo">4142</span>          mvcc.complete(writeEntry);<a name="line.4142"></a>
-<span class="sourceLineNo">4143</span>          writeEntry = null;<a name="line.4143"></a>
-<span class="sourceLineNo">4144</span>        }<a name="line.4144"></a>
-<span class="sourceLineNo">4145</span>      }<a name="line.4145"></a>
-<span class="sourceLineNo">4146</span><a name="line.4146"></a>
-<span class="sourceLineNo">4147</span>      // STEP 5. Write back to memStore<a name="line.4147"></a>
-<span class="sourceLineNo">4148</span>      // NOTE: writeEntry can be null here<a name="line.4148"></a>
-<span class="sourceLineNo">4149</span>      writeEntry = batchOp.writeMiniBatchOperationsToMemStore(miniBatchOp, writeEntry);<a name="line.4149"></a>
+<span class="sourceLineNo">4086</span>      if (rsServices != null &amp;&amp; rsServices.getMetrics() != null) {<a name="line.4086"></a>
+<span class="sourceLineNo">4087</span>        rsServices.getMetrics().updateWriteQueryMeter(this.htableDescriptor.<a name="line.4087"></a>
+<span class="sourceLineNo">4088</span>          getTableName(), batchOp.size());<a name="line.4088"></a>
+<span class="sourceLineNo">4089</span>      }<a name="line.4089"></a>
+<span class="sourceLineNo">4090</span>      batchOp.closeRegionOperation();<a name="line.4090"></a>
+<span class="sourceLineNo">4091</span>    }<a name="line.4091"></a>
+<span class="sourceLineNo">4092</span>    return batchOp.retCodeDetails;<a name="line.4092"></a>
+<span class="sourceLineNo">4093</span>  }<a name="line.4093"></a>
+<span class="sourceLineNo">4094</span><a name="line.4094"></a>
+<span class="sourceLineNo">4095</span>  /**<a name="line.4095"></a>
+<span class="sourceLineNo">4096</span>   * Called to do a piece of the batch that came in to {@link #batchMutate(Mutation[], long, long)}<a name="line.4096"></a>
+<span class="sourceLineNo">4097</span>   * In here we also handle replay of edits on region recover. Also gets change in size brought<a name="line.4097"></a>
+<span class="sourceLineNo">4098</span>   * about by applying {@code batchOp}.<a name="line.4098"></a>
+<span class="sourceLineNo">4099</span>   */<a name="line.4099"></a>
+<span class="sourceLineNo">4100</span>  private void doMiniBatchMutate(BatchOperation&lt;?&gt; batchOp) throws IOException {<a name="line.4100"></a>
+<span class="sourceLineNo">4101</span>    boolean success = false;<a name="line.4101"></a>
+<span class="sourceLineNo">4102</span>    WALEdit walEdit = null;<a name="line.4102"></a>
+<span class="sourceLineNo">4103</span>    WriteEntry writeEntry = null;<a name="line.4103"></a>
+<span class="sourceLineNo">4104</span>    boolean locked = false;<a name="line.4104"></a>
+<span class="sourceLineNo">4105</span>    // We try to set up a batch in the range [batchOp.nextIndexToProcess,lastIndexExclusive)<a name="line.4105"></a>
+<span class="sourceLineNo">4106</span>    MiniBatchOperationInProgress&lt;Mutation&gt; miniBatchOp = null;<a name="line.4106"></a>
+<span class="sourceLineNo">4107</span>    /** Keep track of the locks we hold so we can release them in finally clause */<a name="line.4107"></a>
+<span class="sourceLineNo">4108</span>    List&lt;RowLock&gt; acquiredRowLocks = Lists.newArrayListWithCapacity(batchOp.size());<a name="line.4108"></a>
+<span class="sourceLineNo">4109</span>    try {<a name="line.4109"></a>
+<span class="sourceLineNo">4110</span>      // STEP 1. Try to acquire as many locks as we can and build mini-batch of operations with<a name="line.4110"></a>
+<span class="sourceLineNo">4111</span>      // locked rows<a name="line.4111"></a>
+<span class="sourceLineNo">4112</span>      miniBatchOp = batchOp.lockRowsAndBuildMiniBatch(acquiredRowLocks);<a name="line.4112"></a>
+<span class="sourceLineNo">4113</span><a name="line.4113"></a>
+<span class="sourceLineNo">4114</span>      // We've now grabbed as many mutations off the list as we can<a name="line.4114"></a>
+<span class="sourceLineNo">4115</span>      // Ensure we acquire at least one.<a name="line.4115"></a>
+<span class="sourceLineNo">4116</span>      if (miniBatchOp.getReadyToWriteCount() &lt;= 0) {<a name="line.4116"></a>
+<span class="sourceLineNo">4117</span>        // Nothing to put/delete -- an exception in the above such as NoSuchColumnFamily?<a name="line.4117"></a>
+<span class="sourceLineNo">4118</span>        return;<a name="line.4118"></a>
+<span class="sourceLineNo">4119</span>      }<a name="line.4119"></a>
+<span class="sourceLineNo">4120</span><a name="line.4120"></a>
+<span class="sourceLineNo">4121</span>      lock(this.updatesLock.readLock(), miniBatchOp.getReadyToWriteCount());<a name="line.4121"></a>
+<span class="sourceLineNo">4122</span>      locked = true;<a name="line.4122"></a>
+<span class="sourceLineNo">4123</span><a name="line.4123"></a>
+<span class="sourceLineNo">4124</span>      // STEP 2. Update mini batch of all operations in progress with  LATEST_TIMESTAMP timestamp<a name="line.4124"></a>
+<span class="sourceLineNo">4125</span>      // We should record the timestamp only after we have acquired the rowLock,<a name="line.4125"></a>
+<span class="sourceLineNo">4126</span>      // otherwise, newer puts/deletes are not guaranteed to have a newer timestamp<a name="line.4126"></a>
+<span class="sourceLineNo">4127</span>      long now = EnvironmentEdgeManager.currentTime();<a name="line.4127"></a>
+<span class="sourceLineNo">4128</span>      batchOp.prepareMiniBatchOperations(miniBatchOp, now, acquiredRowLocks);<a name="line.4128"></a>
+<span class="sourceLineNo">4129</span><a name="line.4129"></a>
+<span class="sourceLineNo">4130</span>      // STEP 3. Build WAL edit<a name="line.4130"></a>
+<span class="sourceLineNo">4131</span>      List&lt;Pair&lt;NonceKey, WALEdit&gt;&gt; walEdits = batchOp.buildWALEdits(miniBatchOp);<a name="line.4131"></a>
+<span class="sourceLineNo">4132</span><a name="line.4132"></a>
+<span class="sourceLineNo">4133</span>      // STEP 4. Append the WALEdits to WAL and sync.<a name="line.4133"></a>
+<span class="sourceLineNo">4134</span>      for(Iterator&lt;Pair&lt;NonceKey, WALEdit&gt;&gt; it = walEdits.iterator(); it.hasNext();) {<a name="line.4134"></a>
+<span class="sourceLineNo">4135</span>        Pair&lt;NonceKey, WALEdit&gt; nonceKeyWALEditPair = it.next();<a name="line.4135"></a>
+<span class="sourceLineNo">4136</span>        walEdit = nonceKeyWALEditPair.getSecond();<a name="line.4136"></a>
+<span class="sourceLineNo">4137</span>        NonceKey nonceKey = nonceKeyWALEditPair.getFirst();<a name="line.4137"></a>
+<span class="sourceLineNo">4138</span><a name="line.4138"></a>
+<span class="sourceLineNo">4139</span>        if (walEdit != null &amp;&amp; !walEdit.isEmpty()) {<a name="line.4139"></a>
+<span class="sourceLineNo">4140</span>          writeEntry = doWALAppend(walEdit, batchOp.durability, batchOp.getClusterIds(), now,<a name="line.4140"></a>
+<span class="sourceLineNo">4141</span>              nonceKey.getNonceGroup(), nonceKey.getNonce(), batchOp.getOrigLogSeqNum());<a name="line.4141"></a>
+<span class="sourceLineNo">4142</span>        }<a name="line.4142"></a>
+<span class="sourceLineNo">4143</span><a name="line.4143"></a>
+<span class="sourceLineNo">4144</span>        // Complete mvcc for all but last writeEntry (for replay case)<a name="line.4144"></a>
+<span class="sourceLineNo">4145</span>        if (it.hasNext() &amp;&amp; writeEntry != null) {<a name="line.4145"></a>
+<span class="sourceLineNo">4146</span>          mvcc.complete(writeEntry);<a name="line.4146"></a>
+<span class="sourceLineNo">4147</span>          writeEntry = null;<a name="line.4147"></a>
+<span class="sourceLineNo">4148</span>        }<a name="line.4148"></a>
+<span class="sourceLineNo">4149</span>      }<a name="line.4149"></a>
 <span class="sourceLineNo">4150</span><a name="line.4150"></a>
-<span class="sourceLineNo">4151</span>      // STEP 6. Complete MiniBatchOperations: If required calls postBatchMutate() CP hook and<a name="line.4151"></a>
-<span class="sourceLineNo">4152</span>      // complete mvcc for last writeEntry<a name="line.4152"></a>
-<span class="sourceLineNo">4153</span>      batchOp.completeMiniBatchOperations(miniBatchOp, writeEntry);<a name="line.4153"></a>
-<span class="sourceLineNo">4154</span>      writeEntry = null;<a name="line.4154"></a>
-<span class="sourceLineNo">4155</span>      success = true;<a name="line.4155"></a>
-<span class="sourceLineNo">4156</span>    } finally {<a name="line.4156"></a>
-<span class="sourceLineNo">4157</span>      // Call complete rather than completeAndWait because we probably had error if walKey != null<a name="line.4157"></a>
-<span class="sourceLineNo">4158</span>      if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.4158"></a>
-<span class="sourceLineNo">4159</span><a name="line.4159"></a>
-<span class="sourceLineNo">4160</span>      if (locked) {<a name="line.4160"></a>
-<span class="sourceLineNo">4161</span>        this.updatesLock.readLock().unlock();<a name="line.4161"></a>
-<span class="sourceLineNo">4162</span>      }<a name="line.4162"></a>
-<span class="sourceLineNo">4163</span>      releaseRowLocks(acquiredRowLocks);<a name="line.4163"></a>
-<span class="sourceLineNo">4164</span><a name="line.4164"></a>
-<span class="sourceLineNo">4165</span>      final int finalLastIndexExclusive =<a name="line.4165"></a>
-<span class="sourceLineNo">4166</span>          miniBatchOp != null ? miniBatchOp.getLastIndexExclusive() : batchOp.size();<a name="line.4166"></a>
-<span class="sourceLineNo">4167</span>      final boolean finalSuccess = success;<a name="line.4167"></a>
-<span class="sourceLineNo">4168</span>      batchOp.visitBatchOperations(true, finalLastIndexExclusive, (int i) -&gt; {<a name="line.4168"></a>
-<span class="sourceLineNo">4169</span>        batchOp.retCodeDetails[i] =<a name="line.4169"></a>
-<span class="sourceLineNo">4170</span>            finalSuccess ? OperationStatus.SUCCESS : OperationStatus.FAILURE;<a name="line.4170"></a>
-<span class="sourceLineNo">4171</span>        return true;<a name="line.4171"></a>
-<span class="sourceLineNo">4172</span>      });<a name="line.4172"></a>
-<span class="sourceLineNo">4173</span><a name="line.4173"></a>
-<span class="sourceLineNo">4174</span>      batchOp.doPostOpCleanupForMiniBatch(miniBatchOp, walEdit, finalSuccess);<a name="line.4174"></a>
-<span class="sourceLineNo">4175</span><a name="line.4175"></a>
-<span class="sourceLineNo">4176</span>      batchOp.nextIndexToProcess = finalLastIndexExclusive;<a name="line.4176"></a>
-<span class="sourceLineNo">4177</span>    }<a name="line.4177"></a>
-<span class="sourceLineNo">4178</span>  }<a name="line.4178"></a>
+<span class="sourceLineNo">4151</span>      // STEP 5. Write back to memStore<a name="line.4151"></a>
+<span class="sourceLineNo">4152</span>      // NOTE: writeEntry can be null here<a name="line.4152"></a>
+<span class="sourceLineNo">4153</span>      writeEntry = batchOp.writeMiniBatchOperationsToMemStore(miniBatchOp, writeEntry);<a name="line.4153"></a>
+<span class="sourceLineNo">4154</span><a name="line.4154"></a>
+<span class="sourceLineNo">4155</span>      // STEP 6. Complete MiniBatchOperations: If required calls postBatchMutate() CP hook and<a name="line.4155"></a>
+<span class="sourceLineNo">4156</span>      // complete mvcc for last writeEntry<a name="line.4156"></a>
+<span class="sourceLineNo">4157</span>      batchOp.completeMiniBatchOperations(miniBatchOp, writeEntry);<a name="line.4157"></a>
+<span class="sourceLineNo">4158</span>      writeEntry = null;<a name="line.4158"></a>
+<span class="sourceLineNo">4159</span>      success = true;<a name="line.4159"></a>
+<span class="sourceLineNo">4160</span>    } finally {<a name="line.4160"></a>
+<span class="sourceLineNo">4161</span>      // Call complete rather than completeAndWait because we probably had error if walKey != null<a name="line.4161"></a>
+<span class="sourceLineNo">4162</span>      if (writeEntry != null) mvcc.complete(writeEntry);<a name="line.4162"></a>
+<span class="sourceLineNo">4163</span><a name="line.4163"></a>
+<span class="sourceLineNo">4164</span>      if (locked) {<a name="line.4164"></a>
+<span class="sourceLineNo">4165</span>        this.updatesLock.readLock().unlock();<a name="line.4165"></a>
+<span class="sourceLineNo">4166</span>      }<a name="line.4166"></a>
+<span class="sourceLineNo">4167</span>      releaseRowLocks(acquiredRowLocks);<a name="line.4167"></a>
+<span class="sourceLineNo">4168</span><a name="line.4168"></a>
+<span class="sourceLineNo">4169</span>      final int finalLastIndexExclusive =<a name="line.4169"></a>
+<span class="sourceLineNo">4170</span>          miniBatchOp != null ? miniBatchOp.getLastIndexExclusive() : batchOp.size();<a name="line.4170"></a>
+<span class="sourceLineNo">4171</span>      final boolean finalSuccess = success;<a name="line.4171"></a>
+<span class="sourceLineNo">4172</span>      batchOp.visitBatchOperations(true, finalLastIndexExclusive, (int i) -&gt; {<a name="line.4172"></a>
+<span class="sourceLineNo">4173</span>        batchOp.retCodeDetails[i] =<a name="line.4173"></a>
+<span class="sourceLineNo">4174</span>            finalSuccess ? OperationStatus.SUCCESS : OperationStatus.FAILURE;<a name="line.4174"></a>
+<span class="sourceLineNo">4175</span>        return true;<a name="line.4175"></a>
+<span class="sourceLineNo">4176</span>      });<a name="line.4176"></a>
+<span class="sourceLineNo">4177</span><a name="line.4177"></a>
+<span class="sourceLineNo">4178</span>      batchOp.doPostOpCleanupForMiniBatch(miniBatchOp, walEdit, finalSuccess);<a name="line.4178"></a>
 <span class="sourceLineNo">4179</span><a name="line.4179"></a>
-<span class="sourceLineNo">4180</span>  /**<a name="line.4180"></a>
-<span class="sourceLineNo">4181</span>   * Returns effective durability from the passed durability and<a name="line.4181"></a>
-<span class="sourceLineNo">4182</span>   * the table descriptor.<a name="line.4182"></a>
-<span class="sourceLineNo">4183</span>   */<a name="line.4183"></a>
-<span class="sourceLineNo">4184</span>  protected Durability getEffectiveDurability(Durability d) {<a name="line.4184"></a>
-<span class="sourceLineNo">4185</span>    return d == Durability.USE_DEFAULT ? this.regionDurability : d;<a name="line.4185"></a>
-<span class="sourceLineNo">4186</span>  }<a name="line.4186"></a>
-<span class="sourceLineNo">4187</span><a name="line.4187"></a>
-<span class="sourceLineNo">4188</span>  @Override<a name="line.4188"></a>
-<span class="sourceLineNo">4189</span>  public boolean checkAndMutate(byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.4189"></a>
-<span class="sourceLineNo">4190</span>    ByteArrayComparable comparator, TimeRange timeRange, Mutation mutation) throws IOException {<a name="line.4190"></a>
-<span class="sourceLineNo">4191</span>    checkMutationType(mutation, row);<a name="line.4191"></a>
-<span class="sourceLineNo">4192</span>    return doCheckAndRowMutate(row, family, qualifier, op, comparator, timeRange, null, mutation);<a name="line.4192"></a>
-<span class="sourceLineNo">4193</span>  }<a name="line.4193"></a>
-<span class="sourceLineNo">4194</span><a name="line.4194"></a>
-<span class="sourceLineNo">4195</span>  @Override<a name="line.4195"></a>
-<span class="sourceLineNo">4196</span>  public boolean checkAndRowMutate(byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.4196"></a>
-<span class="sourceLineNo">4197</span>    ByteArrayComparable comparator, TimeRange timeRange, RowMutations rm) throws IOException {<a name="line.4197"></a>
-<span class="sourceLineNo">4198</span>    return doCheckAndRowMutate(row, family, qualifier, op, comparator, timeRange, rm, null);<a name="line.4198"></a>
-<span class="sourceLineNo">4199</span>  }<a name="line.4199"></a>
-<span class="sourceLineNo">4200</span><a name="line.4200"></a>
-<span class="sourceLineNo">4201</span>  /**<a name="line.4201"></a>
-<span class="sourceLineNo">4202</span>   * checkAndMutate and checkAndRowMutate are 90% the same. Rather than copy/paste, below has<a name="line.4202"></a>
-<span class="sourceLineNo">4203</span>   * switches in the few places where there is deviation.<a name="line.4203"></a>
-<span class="sourceLineNo">4204</span>   */<a name="line.4204"></a>
-<span class="sourceLineNo">4205</span>  private boolean doCheckAndRowMutate(byte[] row, byte[] family, byte[] qualifier,<a name="line.4205"></a>
-<span class="sourceLineNo">4206</span>    CompareOperator op, ByteArrayComparable comparator, TimeRange timeRange,<a name="line.4206"></a>
-<span class="sourceLineNo">4207</span>    RowMutations rowMutations, Mutation mutation)<a name="line.4207"></a>
-<span class="sourceLineNo">4208</span>  throws IOException {<a name="line.4208"></a>
-<span class="sourceLineNo">4209</span>    // Could do the below checks but seems wacky with two callers only. Just comment out for now.<a name="line.4209"></a>
-<span class="sourceLineNo">4210</span>    // One caller passes a Mutation, the other passes RowMutation. Presume all good so we don't<a name="line.4210"></a>
-<span class="sourceLineNo">4211</span>    // need these commented out checks.<a name="line.4211"></a>
-<span class="sourceLineNo">4212</span>    // if (rowMutations == null &amp;&amp; mutation == null) throw new DoNotRetryIOException("Both null");<a name="line.4212"></a>
-<span class="sourceLineNo">4213</span>    // if (rowMutations != null &amp;&amp; mutation != null) throw new DoNotRetryIOException("Both set");<a name="line.4213"></a>
-<span class="sourceLineNo">4214</span>    checkReadOnly();<a name="line.4214"></a>
-<span class="sourceLineNo">4215</span>    // TODO, add check for value length also move this check to the client<a name="line.4215"></a>
-<span class="sourceLineNo">4216</span>    checkResources();<a name="line.4216"></a>
-<span class="sourceLineNo">4217</span>    startRegionOperation();<a name="line.4217"></a>
-<span class="sourceLineNo">4218</span>    try {<a name="line.4218"></a>
-<span class="sourceLineNo">4219</span>      Get get = new Get(row);<a name="line.4219"></a>
-<span class="sourceLineNo">4220</span>      checkFamily(family);<a name="line.4220"></a>
-<span class="sourceLineNo">4221</span>      get.addColumn(family, qualifier);<a name="line.4221"></a>
-<span class="sourceLineNo">4222</span>      if (timeRange != null) {<a name="line.4222"></a>
-<span class="sourceLineNo">4223</span>        get.setTimeRange(timeRange.getMin(), timeRange.getMax());<a name="line.4223"></a>
-<span class="sourceLineNo">4224</span>      }<a name="line.4224"></a>
-<span class="sourceLineNo">4225</span>      // Lock row - note that doBatchMutate will relock this row if called<a name="line.4225"></a>
-<span class="sourceLineNo">4226</span>      checkRow(row, "doCheckAndRowMutate");<a name="line.4226"></a>
-<span class="sourceLineNo">4227</span>      RowLock rowLock = getRowLockInternal(get.getRow(), false, null);<a name="line.4227"></a>
-<span class="sourceLineNo">4228</span>      try {<a name="line.4228"></a>
-<span class="sourceLineNo">4229</span>        if (mutation != null &amp;&amp; this.getCoprocessorHost() != null) {<a name="line.4229"></a>
-<span class="sourceLineNo">4230</span>          // Call coprocessor.<a name="line.4230"></a>
-<span class="sourceLineNo">4231</span>          Boolean processed = null;<a name="line.4231"></a>
-<span class="sourceLineNo">4232</span>          if (mutation instanceof Put) {<a name="line.4232"></a>
-<span class="sourceLineNo">4233</span>            processed = this.getCoprocessorHost().preCheckAndPutAfterRowLock(row, family,<a name="line.4233"></a>
-<span class="sourceLineNo">4234</span>                qualifier, op, comparator, (Put)mutation);<a name="line.4234"></a>
-<span class="sourceLineNo">4235</span>          } else if (mutation instanceof Delete) {<a name="line.4235"></a>
-<span class="sourceLineNo">4236</span>            processed = this.getCoprocessorHost().preCheckAndDeleteAfterRowLock(row, family,<a name="line.4236"></a>
-<span class="sourceLineNo">4237</span>                qualifier, op, comparator, (Delete)mutation);<a name="line.4237"></a>
-<span class="sourceLineNo">4238</span>          }<a name="line.4238"></a>
-<span class="sourceLineNo">4239</span>          if (processed != null) {<a name="line.4239"></a>
-<span class="sourceLineNo">4240</span>            return processed;<a name="line.4240"></a>
-<span class="sourceLineNo">4241</span>          }<a name="line.4241"></a>
-<span class="sourceLineNo">4242</span>        }<a name="line.4242"></a>
-<span class="sourceLineNo">4243</span>        // NOTE: We used to wait here until mvcc caught up:  mvcc.await();<a name="line.4243"></a>
-<span class="sourceLineNo">4244</span>        // Supposition is that now all changes are done under row locks, then when we go to read,<a name="line.4244"></a>
-<span class="sourceLineNo">4245</span>        // we'll get the latest on this row.<a name="line.4245"></a>
-<span class="sourceLineNo">4246</span>        List&lt;Cell&gt; result = get(get, false);<a name="line.4246"></a>
-<span class="sourceLineNo">4247</span>        boolean valueIsNull = comparator.getValue() == null || comparator.getValue().length == 0;<a name="line.4247"></a>
-<span class="sourceLineNo">4248</span>        boolean matches = false;<a name="line.4248"></a>
-<span class="sourceLineNo">4249</span>        long cellTs = 0;<a name="line.4249"></a>
-<span class="sourceLineNo">4250</span>        if (result.isEmpty() &amp;&amp; valueIsNull) {<a name="line.4250"></a>
-<span class="sourceLineNo">4251</span>          matches = true;<a name="line.4251"></a>
-<span class="sourceLineNo">4252</span>        } else if (result.size() &gt; 0 &amp;&amp; result.get(0).getValueLength() == 0 &amp;&amp; valueIsNull) {<a name="line.4252"></a>
-<span class="sourceLineNo">4253</span>          matches = true;<a name="line.4253"></a>
-<span class="sourceLineNo">4254</span>          cellTs = result.get(0).getTimestamp();<a name="line.4254"></a>
-<span class="sourceLineNo">4255</span>        } else if (result.size() == 1 &amp;&amp; !valueIsNull) {<a name="line.4255"></a>
-<span class="sourceLineNo">4256</span>          Cell kv = result.get(0);<a name="line.4256"></a>
-<span class="sourceLineNo">4257</span>          cellTs = kv.getTimestamp();<a name="line.4257"></a>
-<span class="sourceLineNo">4258</span>          int compareResult = PrivateCellUtil.compareValue(kv, comparator);<a name="line.4258"></a>
-<span class="sourceLineNo">4259</span>          matches = matches(op, compareResult);<a name="line.4259"></a>
-<span class="sourceLineNo">4260</span>        }<a name="line.4260"></a>
-<span class="sourceLineNo">4261</span>        // If matches put the new put or delete the new delete<a name="line.4261"></a>
-<span class="sourceLineNo">4262</span>        if (matches) {<a name="line.4262"></a>
-<span class="sourceLineNo">4263</span>          // We have acquired the row lock already. If the system clock is NOT monotonically<a name="line.4263"></a>
-<span class="sourceLineNo">4264</span>          // non-decreasing (see HBASE-14070) we should make sure that the mutation has a<a name="line.4264"></a>
-<span class="sourceLineNo">4265</span>          // larger timestamp than what was observed via Get. doBatchMutate already does this, but<a name="line.4265"></a>
-<span class="sourceLineNo">4266</span>          // there is no way to pass the cellTs. See HBASE-14054.<a name="line.4266"></a>
-<span class="sourceLineNo">4267</span>          long now = EnvironmentEdgeManager.currentTime();<a name="line.4267"></a>
-<span class="sourceLineNo">4268</span>          long ts = Math.max(now, cellTs); // ensure write is not eclipsed<a name="line.4268"></a>
-<span class="sourceLineNo">4269</span>          byte[] byteTs = Bytes.toBytes(ts);<a name="line.4269"></a>
-<span class="sourceLineNo">4270</span>          if (mutation != null) {<a name="line.4270"></a>
-<span class="sourceLineNo">4271</span>            if (mutation instanceof Put) {<a name="line.4271"></a>
-<span class="sourceLineNo">4272</span>              updateCellTimestamps(mutation.getFamilyCellMap().values(), byteTs);<a name="line.4272"></a>
-<span class="sourceLineNo">4273</span>            }<a name="line.4273"></a>
-<span class="sourceLineNo">4274</span>            // And else 'delete' is not needed since it already does a second get, and sets the<a name="line.4274"></a>
-<span class="sourceLineNo">4275</span>            // timestamp from get (see prepareDeleteTimestamps).<a name="line.4275"></a>
-<span class="sourceLineNo">4276</span>          } else {<a name="line.4276"></a>
-<span class="sourceLineNo">4277</span>            for (Mutation m: rowMutations.getMutations()) {<a name="line.4277"></a>
-<span class="sourceLineNo">4278</span>              if (m instanceof Put) {<a name="line.4278"></a>
-<span class="sourceLineNo">4279</span>                updateCellTimestamps(m.getFamilyCellMap().values(), byteTs);<a name="line.4279"></a>
-<span class="sourceLineNo">4280</span>              }<a name="line.4280"></a>
-<span class="sourceLineNo">4281</span>            }<a name="line.4281"></a>
-<span class="sourceLineNo">4282</span>            // And else 'delete' is not needed since it already does a second get, and sets the<a name="line.4282"></a>
-<span class="sourceLineNo">4283</span>            // timestamp from get (see prepareDeleteTimestamps).<a name="line.4283"></a>
-<span class="sourceLineNo">4284</span>          }<a name="line.4284"></a>
-<span class="sourceLineNo">4285</span>          // All edits for the given row (across all column families) must happen atomically.<a name="line.4285"></a>
-<span class="sourceLineNo">4286</span>          if (mutation != null) {<a name="line.4286"></a>
-<span class="sourceLineNo">4287</span>            doBatchMutate(mutation);<a name="line.4287"></a>
-<span class="sourceLineNo">4288</span>          } else {<a name="line.4288"></a>
-<span class="sourceLineNo">4289</span>            mutateRow(rowMutations);<a name="line.4289"></a>
-<span class="sourceLineNo">4290</span>          }<a name="line.4290"></a>
-<span class="sourceLineNo">4291</span>          this.checkAndMutateChecksPassed.increment();<a name="line.4291"></a>
-<span class="sourceLineNo">4292</span>          return true;<a name="line.4292"></a>
-<span class="sourceLineNo">4293</span>        }<a name="line.4293"></a>
-<span class="sourceLineNo">4294</span>        this.checkAndMutateChecksFailed.increment();<a name="line.4294"></a>
-<span class="sourceLineNo">4295</span>        return false;<a name="line.4295"></a>
-<span class="sourceLineNo">4296</span>      } finally {<a name="line.4296"></a>
-<span class="sourceLineNo">4297</span>        rowLock.release();<a name="line.4297"></a>
-<span class="sourceLineNo">4298</span>      }<a name="line.4298"></a>
-<span class="sourceLineNo">4299</span>    } finally {<a name="line.4299"></a>
-<span class="sourceLineNo">4300</span>      closeRegionOperation();<a name="line.4300"></a>
-<span class="sourceLineNo">4301</span>    }<a name="line.4301"></a>
-<span class="sourceLineNo">4302</span>  }<a name="line.4302"></a>
-<span class="sourceLineNo">4303</span><a name="line.4303"></a>
-<span class="sourceLineNo">4304</span>  private void checkMutationType(final Mutation mutation, final byte [] row)<a name="line.4304"></a>
-<span class="sourceLineNo">4305</span>  throws DoNotRetryIOException {<a name="line.4305"></a>
-<span class="sourceLineNo">4306</span>    boolean isPut = mutation instanceof Put;<a name="line.4306"></a>
-<span class="sourceLineNo">4307</span>    if (!isPut &amp;&amp; !(mutation instanceof Delete)) {<a name="line.4307"></a>
-<span class="sourceLineNo">4308</span>      throw new org.apache.hadoop.hbase.DoNotRetryIOException("Action must be Put or Delete");<a name="line.4308"></a>
-<span class="sourceLineNo">4309</span>    }<a name="line.4309"></a>
-<span class="sourceLineNo">4310</span>    if (!Bytes.equals(row, mutation.getRow())) {<a name="line.4310"></a>
-<span class="sourceLineNo">4311</span>      throw new org.apache.hadoop.hbase.DoNotRetryIOException("Action's getRow must match");<a name="line.4311"></a>
-<span class="sourceLineNo">4312</span>    }<a name="line.4312"></a>
-<span class="sourceLineNo">4313</span>  }<a name="line.4313"></a>
-<span class="sourceLineNo">4314</span><a name="line.4314"></a>
-<span class="sourceLineNo">4315</span>  private boolean matches(final CompareOperator op, final int compareResult) {<a name="line.4315"></a>
-<span class="sourceLineNo">4316</span>    boolean matches = false;<a name="line.4316"></a>
-<span class="sourceLineNo">4317</span>    switch (op) {<a name="line.4317"></a>
-<span class="sourceLineNo">4318</span>      case LESS:<a name="line.4318"></a>
-<span class="sourceLineNo">4319</span>        matches = compareResult &lt; 0;<a name="line.4319"></a>
-<span class="sourceLineNo">4320</span>        break;<a name="line.4320"></a>
-<span class="sourceLineNo">4321</span>      case LESS_OR_EQUAL:<a name="line.4321"></a>
-<span class="sourceLineNo">4322</span>        matches = compareResult &lt;= 0;<a name="line.4322"></a>
-<span class="sourceLineNo">4323</span>        break;<a name="line.4323"></a>
-<span class="sourceLineNo">4324</span>      case EQUAL:<a name="line.4324"></a>
-<span class="sourceLineNo">4325</span>        matches = compareResult == 0;<a name="line.4325"></a>
-<span class="sourceLineNo">4326</span>        break;<a name="line.4326"></a>
-<span class="sourceLineNo">4327</span>      case NOT_EQUAL:<a name="line.4327"></a>
-<span class="sourceLineNo">4328</span>        matches = compareResult != 0;<a name="line.4328"></a>
-<span class="sourceLineNo">4329</span>        break;<a name="line.4329"></a>
-<span class="sourceLineNo">4330</span>      case GREATER_OR_EQUAL:<a name="line.4330"></a>
-<span class="sourceLineNo">4331</span>        matches = compareResult &gt;= 0;<a name="line.4331"></a>
-<span class="sourceLineNo">4332</span>        break;<a name="line.4332"></a>
-<span class="sourceLineNo">4333</span>      case GREATER:<a name="line.4333"></a>
-<span class="sourceLineNo">4334</span>        matches = compareResult &gt; 0;<a name="line.4334"></a>
-<span class="sourceLineNo">4335</span>        break;<a name="line.4335"></a>
-<span class="sourceLineNo">4336</span>      default:<a name="line.4336"></a>
-<span class="sourceLineNo">4337</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.4337"></a>
-<span class="sourceLineNo">4338</span>    }<a name="line.4338"></a>
-<span class="sourceLineNo">4339</span>    return matches;<a name="line.4339"></a>
-<span class="sourceLineNo">4340</span>  }<a name="line.4340"></a>
-<span class="sourceLineNo">4341</span><a name="line.4341"></a>
-<span class="sourceLineNo">4342</span><a name="line.4342"></a>
-<span class="sourceLineNo">4343</span>  private void doBatchMutate(Mutation mutation) throws IOException {<a name="line.4343"></a>
-<span class="sourceLineNo">4344</span>    // Currently this is only called for puts and deletes, so no nonces.<a name="line.4344"></a>
-<span class="sourceLineNo">4345</span>    OperationStatus[] batchMutate = this.batchMutate(new Mutation[]{mutation});<a name="line.4345"></a>
-<span class="sourceLineNo">4346</span>    if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.SANITY_CHECK_FAILURE)) {<a name="line.4346"></a>
-<span class="sourceLineNo">4347</span>      throw new FailedSanityCheckException(batchMutate[0].getExceptionMsg());<a name="line.4347"></a>
-<span class="sourceLineNo">4348</span>    } else if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.BAD_FAMILY)) {<a name="line.4348"></a>
-<span class="sourceLineNo">4349</span>      throw new NoSuchColumnFamilyException(batchMutate[0].getExceptionMsg());<a name="line.4349"></a>
-<span class="sourceLineNo">4350</span>    } else if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.STORE_TOO_BUSY)) {<a name="line.4350"></a>
-<span class="sourceLineNo">4351</span>      throw new RegionTooBusyException(batchMutate[0].getExceptionMsg());<a name="line.4351"></a>
-<span class="sourceLineNo">4352</span>    }<a name="line.4352"></a>
-<span class="sourceLineNo">4353</span>  }<a name="line.4353"></a>
-<span class="sourceLineNo">4354</span><a name="line.4354"></a>
-<span class="sourceLineNo">4355</span>  /**<a name="line.4355"></a>
-<span class="sourceLineNo">4356</span>   * Complete taking the snapshot on the region. Writes the region info and adds references to the<a name="line.4356"></a>
-<span class="sourceLineNo">4357</span>   * working snapshot directory.<a name="line.4357"></a>
-<span class="sourceLineNo">4358</span>   *<a name="line.4358"></a>
-<span class="sourceLineNo">4359</span>   * TODO for api consistency, consider adding another version with no {@link ForeignExceptionSnare}<a name="line.4359"></a>
-<span class="sourceLineNo">4360</span>   * arg.  (In the future other cancellable HRegion methods could eventually add a<a name="line.4360"></a>
-<span class="sourceLineNo">4361</span>   * {@link ForeignExceptionSnare}, or we could do something fancier).<a name="line.4361"></a>
+<span class="sourceLineNo">4180</span>      batchOp.nextIndexToProcess = finalLastIndexExclusive;<a name="line.4180"></a>
+<span class="sourceLineNo">4181</span>    }<a name="line.4181"></a>
+<span class="sourceLineNo">4182</span>  }<a name="line.4182"></a>
+<span class="sourceLineNo">4183</span><a name="line.4183"></a>
+<span class="sourceLineNo">4184</span>  /**<a name="line.4184"></a>
+<span class="sourceLineNo">4185</span>   * Returns effective durability from the passed durability and<a name="line.4185"></a>
+<span class="sourceLineNo">4186</span>   * the table descriptor.<a name="line.4186"></a>
+<span class="sourceLineNo">4187</span>   */<a name="line.4187"></a>
+<span class="sourceLineNo">4188</span>  protected Durability getEffectiveDurability(Durability d) {<a name="line.4188"></a>
+<span class="sourceLineNo">4189</span>    return d == Durability.USE_DEFAULT ? this.regionDurability : d;<a name="line.4189"></a>
+<span class="sourceLineNo">4190</span>  }<a name="line.4190"></a>
+<span class="sourceLineNo">4191</span><a name="line.4191"></a>
+<span class="sourceLineNo">4192</span>  @Override<a name="line.4192"></a>
+<span class="sourceLineNo">4193</span>  public boolean checkAndMutate(byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.4193"></a>
+<span class="sourceLineNo">4194</span>    ByteArrayComparable comparator, TimeRange timeRange, Mutation mutation) throws IOException {<a name="line.4194"></a>
+<span class="sourceLineNo">4195</span>    checkMutationType(mutation, row);<a name="line.4195"></a>
+<span class="sourceLineNo">4196</span>    return doCheckAndRowMutate(row, family, qualifier, op, comparator, timeRange, null, mutation);<a name="line.4196"></a>
+<span class="sourceLineNo">4197</span>  }<a name="line.4197"></a>
+<span class="sourceLineNo">4198</span><a name="line.4198"></a>
+<span class="sourceLineNo">4199</span>  @Override<a name="line.4199"></a>
+<span class="sourceLineNo">4200</span>  public boolean checkAndRowMutate(byte[] row, byte[] family, byte[] qualifier, CompareOperator op,<a name="line.4200"></a>
+<span class="sourceLineNo">4201</span>    ByteArrayComparable comparator, TimeRange timeRange, RowMutations rm) throws IOException {<a name="line.4201"></a>
+<span class="sourceLineNo">4202</span>    return doCheckAndRowMutate(row, family, qualifier, op, comparator, timeRange, rm, null);<a name="line.4202"></a>
+<span class="sourceLineNo">4203</span>  }<a name="line.4203"></a>
+<span class="sourceLineNo">4204</span><a name="line.4204"></a>
+<span class="sourceLineNo">4205</span>  /**<a name="line.4205"></a>
+<span class="sourceLineNo">4206</span>   * checkAndMutate and checkAndRowMutate are 90% the same. Rather than copy/paste, below has<a name="line.4206"></a>
+<span class="sourceLineNo">4207</span>   * switches in the few places where there is deviation.<a name="line.4207"></a>
+<span class="sourceLineNo">4208</span>   */<a name="line.4208"></a>
+<span class="sourceLineNo">4209</span>  private boolean doCheckAndRowMutate(byte[] row, byte[] family, byte[] qualifier,<a name="line.4209"></a>
+<span class="sourceLineNo">4210</span>    CompareOperator op, ByteArrayComparable comparator, TimeRange timeRange,<a name="line.4210"></a>
+<span class="sourceLineNo">4211</span>    RowMutations rowMutations, Mutation mutation)<a name="line.4211"></a>
+<span class="sourceLineNo">4212</span>  throws IOException {<a name="line.4212"></a>
+<span class="sourceLineNo">4213</span>    // Could do the below checks but seems wacky with two callers only. Just comment out for now.<a name="line.4213"></a>
+<span class="sourceLineNo">4214</span>    // One caller passes a Mutation, the other passes RowMutation. Presume all good so we don't<a name="line.4214"></a>
+<span class="sourceLineNo">4215</span>    // need these commented out checks.<a name="line.4215"></a>
+<span class="sourceLineNo">4216</span>    // if (rowMutations == null &amp;&amp; mutation == null) throw new DoNotRetryIOException("Both null");<a name="line.4216"></a>
+<span class="sourceLineNo">4217</span>    // if (rowMutations != null &amp;&amp; mutation != null) throw new DoNotRetryIOException("Both set");<a name="line.4217"></a>
+<span class="sourceLineNo">4218</span>    checkReadOnly();<a name="line.4218"></a>
+<span class="sourceLineNo">4219</span>    // TODO, add check for value length also move this check to the client<a name="line.4219"></a>
+<span class="sourceLineNo">4220</span>    checkResources();<a name="line.4220"></a>
+<span class="sourceLineNo">4221</span>    startRegionOperation();<a name="line.4221"></a>
+<span class="sourceLineNo">4222</span>    try {<a name="line.4222"></a>
+<span class="sourceLineNo">4223</span>      Get get = new Get(row);<a name="line.4223"></a>
+<span class="sourceLineNo">4224</span>      checkFamily(family);<a name="line.4224"></a>
+<span class="sourceLineNo">4225</span>      get.addColumn(family, qualifier);<a name="line.4225"></a>
+<span class="sourceLineNo">4226</span>      if (timeRange != null) {<a name="line.4226"></a>
+<span class="sourceLineNo">4227</span>        get.setTimeRange(timeRange.getMin(), timeRange.getMax());<a name="line.4227"></a>
+<span class="sourceLineNo">4228</span>      }<a name="line.4228"></a>
+<span class="sourceLineNo">4229</span>      // Lock row - note that doBatchMutate will relock this row if called<a name="line.4229"></a>
+<span class="sourceLineNo">4230</span>      checkRow(row, "doCheckAndRowMutate");<a name="line.4230"></a>
+<span class="sourceLineNo">4231</span>      RowLock rowLock = getRowLockInternal(get.getRow(), false, null);<a name="line.4231"></a>
+<span class="sourceLineNo">4232</span>      try {<a name="line.4232"></a>
+<span class="sourceLineNo">4233</span>        if (mutation != null &amp;&amp; this.getCoprocessorHost() != null) {<a name="line.4233"></a>
+<span class="sourceLineNo">4234</span>          // Call coprocessor.<a name="line.4234"></a>
+<span class="sourceLineNo">4235</span>          Boolean processed = null;<a name="line.4235"></a>
+<span class="sourceLineNo">4236</span>          if (mutation instanceof Put) {<a name="line.4236"></a>
+<span class="sourceLineNo">4237</span>            processed = this.getCoprocessorHost().preCheckAndPutAfterRowLock(row, family,<a name="line.4237"></a>
+<span class="sourceLineNo">4238</span>                qualifier, op, comparator, (Put)mutation);<a name="line.4238"></a>
+<span class="sourceLineNo">4239</span>          } else if (mutation instanceof Delete) {<a name="line.4239"></a>
+<span class="sourceLineNo">4240</span>            processed = this.getCoprocessorHost().preCheckAndDeleteAfterRowLock(row, family,<a name="line.4240"></a>
+<span class="sourceLineNo">4241</span>                qualifier, op, comparator, (Delete)mutation);<a name="line.4241"></a>
+<span class="sourceLineNo">4242</span>          }<a name="line.4242"></a>
+<span class="sourceLineNo">4243</span>          if (processed != null) {<a name="line.4243"></a>
+<span class="sourceLineNo">4244</span>            return processed;<a name="line.4244"></a>
+<span class="sourceLineNo">4245</span>          }<a name="line.4245"></a>
+<span class="sourceLineNo">4246</span>        }<a name="line.4246"></a>
+<span class="sourceLineNo">4247</span>        // NOTE: We used to wait here until mvcc caught up:  mvcc.await();<a name="line.4247"></a>
+<span class="sourceLineNo">4248</span>        // Supposition is that now all changes are done under row locks, then when we go to read,<a name="line.4248"></a>
+<span class="sourceLineNo">4249</span>        // we'll get the latest on this row.<a name="line.4249"></a>
+<span class="sourceLineNo">4250</span>        List&lt;Cell&gt; result = get(get, false);<a name="line.4250"></a>
+<span class="sourceLineNo">4251</span>        boolean valueIsNull = comparator.getValue() == null || comparator.getValue().length == 0;<a name="line.4251"></a>
+<span class="sourceLineNo">4252</span>        boolean matches = false;<a name="line.4252"></a>
+<span class="sourceLineNo">4253</span>        long cellTs = 0;<a name="line.4253"></a>
+<span class="sourceLineNo">4254</span>        if (result.isEmpty() &amp;&amp; valueIsNull) {<a name="line.4254"></a>
+<span class="sourceLineNo">4255</span>          matches = true;<a name="line.4255"></a>
+<span class="sourceLineNo">4256</span>        } else if (result.size() &gt; 0 &amp;&amp; result.get(0).getValueLength() == 0 &amp;&amp; valueIsNull) {<a name="line.4256"></a>
+<span class="sourceLineNo">4257</span>          matches = true;<a name="line.4257"></a>
+<span class="sourceLineNo">4258</span>          cellTs = result.get(0).getTimestamp();<a name="line.4258"></a>
+<span class="sourceLineNo">4259</span>        } else if (result.size() == 1 &amp;&amp; !valueIsNull) {<a name="line.4259"></a>
+<span class="sourceLineNo">4260</span>          Cell kv = result.get(0);<a name="line.4260"></a>
+<span class="sourceLineNo">4261</span>          cellTs = kv.getTimestamp();<a name="line.4261"></a>
+<span class="sourceLineNo">4262</span>          int compareResult = PrivateCellUtil.compareValue(kv, comparator);<a name="line.4262"></a>
+<span class="sourceLineNo">4263</span>          matches = matches(op, compareResult);<a name="line.4263"></a>
+<span class="sourceLineNo">4264</span>        }<a name="line.4264"></a>
+<span class="sourceLineNo">4265</span>        // If matches put the new put or delete the new delete<a name="line.4265"></a>
+<span class="sourceLineNo">4266</span>        if (matches) {<a name="line.4266"></a>
+<span class="sourceLineNo">4267</span>          // We have acquired the row lock already. If the system clock is NOT monotonically<a name="line.4267"></a>
+<span class="sourceLineNo">4268</span>          // non-decreasing (see HBASE-14070) we should make sure that the mutation has a<a name="line.4268"></a>
+<span class="sourceLineNo">4269</span>          // larger timestamp than what was observed via Get. doBatchMutate already does this, but<a name="line.4269"></a>
+<span class="sourceLineNo">4270</span>          // there is no way to pass the cellTs. See HBASE-14054.<a name="line.4270"></a>
+<span class="sourceLineNo">4271</span>          long now = EnvironmentEdgeManager.currentTime();<a name="line.4271"></a>
+<span class="sourceLineNo">4272</span>          long ts = Math.max(now, cellTs); // ensure write is not eclipsed<a name="line.4272"></a>
+<span class="sourceLineNo">4273</span>          byte[] byteTs = Bytes.toBytes(ts);<a name="line.4273"></a>
+<span class="sourceLineNo">4274</span>          if (mutation != null) {<a name="line.4274"></a>
+<span class="sourceLineNo">4275</span>            if (mutation instanceof Put) {<a name="line.4275"></a>
+<span class="sourceLineNo">4276</span>              updateCellTimestamps(mutation.getFamilyCellMap().values(), byteTs);<a name="line.4276"></a>
+<span class="sourceLineNo">4277</span>            }<a name="line.4277"></a>
+<span class="sourceLineNo">4278</span>            // And else 'delete' is not needed since it already does a second get, and sets the<a name="line.4278"></a>
+<span class="sourceLineNo">4279</span>            // timestamp from get (see prepareDeleteTimestamps).<a name="line.4279"></a>
+<span class="sourceLineNo">4280</span>          } else {<a name="line.4280"></a>
+<span class="sourceLineNo">4281</span>            for (Mutation m: rowMutations.getMutations()) {<a name="line.4281"></a>
+<span class="sourceLineNo">4282</span>              if (m instanceof Put) {<a name="line.4282"></a>
+<span class="sourceLineNo">4283</span>                updateCellTimestamps(m.getFamilyCellMap().values(), byteTs);<a name="line.4283"></a>
+<span class="sourceLineNo">4284</span>              }<a name="line.4284"></a>
+<span class="sourceLineNo">4285</span>            }<a name="line.4285"></a>
+<span class="sourceLineNo">4286</span>            // And else 'delete' is not needed since it already does a second get, and sets the<a name="line.4286"></a>
+<span class="sourceLineNo">4287</span>            // timestamp from get (see prepareDeleteTimestamps).<a name="line.4287"></a>
+<span class="sourceLineNo">4288</span>          }<a name="line.4288"></a>
+<span class="sourceLineNo">4289</span>          // All edits for the given row (across all column families) must happen atomically.<a name="line.4289"></a>
+<span class="sourceLineNo">4290</span>          if (mutation != null) {<a name="line.4290"></a>
+<span class="sourceLineNo">4291</span>            doBatchMutate(mutation);<a name="line.4291"></a>
+<span class="sourceLineNo">4292</span>          } else {<a name="line.4292"></a>
+<span class="sourceLineNo">4293</span>            mutateRow(rowMutations);<a name="line.4293"></a>
+<span class="sourceLineNo">4294</span>          }<a name="line.4294"></a>
+<span class="sourceLineNo">4295</span>          this.checkAndMutateChecksPassed.increment();<a name="line.4295"></a>
+<span class="sourceLineNo">4296</span>          return true;<a name="line.4296"></a>
+<span class="sourceLineNo">4297</span>        }<a name="line.4297"></a>
+<span class="sourceLineNo">4298</span>        this.checkAndMutateChecksFailed.increment();<a name="line.4298"></a>
+<span class="sourceLineNo">4299</span>        return false;<a name="line.4299"></a>
+<span class="sourceLineNo">4300</span>      } finally {<a name="line.4300"></a>
+<span class="sourceLineNo">4301</span>        rowLock.release();<a name="line.4301"></a>
+<span class="sourceLineNo">4302</span>      }<a name="line.4302"></a>
+<span class="sourceLineNo">4303</span>    } finally {<a name="line.4303"></a>
+<span class="sourceLineNo">4304</span>      closeRegionOperation();<a name="line.4304"></a>
+<span class="sourceLineNo">4305</span>    }<a name="line.4305"></a>
+<span class="sourceLineNo">4306</span>  }<a name="line.4306"></a>
+<span class="sourceLineNo">4307</span><a name="line.4307"></a>
+<span class="sourceLineNo">4308</span>  private void checkMutationType(final Mutation mutation, final byte [] row)<a name="line.4308"></a>
+<span class="sourceLineNo">4309</span>  throws DoNotRetryIOException {<a name="line.4309"></a>
+<span class="sourceLineNo">4310</span>    boolean isPut = mutation instanceof Put;<a name="line.4310"></a>
+<span class="sourceLineNo">4311</span>    if (!isPut &amp;&amp; !(mutation instanceof Delete)) {<a name="line.4311"></a>
+<span class="sourceLineNo">4312</span>      throw new org.apache.hadoop.hbase.DoNotRetryIOException("Action must be Put or Delete");<a name="line.4312"></a>
+<span class="sourceLineNo">4313</span>    }<a name="line.4313"></a>
+<span class="sourceLineNo">4314</span>    if (!Bytes.equals(row, mutation.getRow())) {<a name="line.4314"></a>
+<span class="sourceLineNo">4315</span>      throw new org.apache.hadoop.hbase.DoNotRetryIOException("Action's getRow must match");<a name="line.4315"></a>
+<span class="sourceLineNo">4316</span>    }<a name="line.4316"></a>
+<span class="sourceLineNo">4317</span>  }<a name="line.4317"></a>
+<span class="sourceLineNo">4318</span><a name="line.4318"></a>
+<span class="sourceLineNo">4319</span>  private boolean matches(final CompareOperator op, final int compareResult) {<a name="line.4319"></a>
+<span class="sourceLineNo">4320</span>    boolean matches = false;<a name="line.4320"></a>
+<span class="sourceLineNo">4321</span>    switch (op) {<a name="line.4321"></a>
+<span class="sourceLineNo">4322</span>      case LESS:<a name="line.4322"></a>
+<span class="sourceLineNo">4323</span>        matches = compareResult &lt; 0;<a name="line.4323"></a>
+<span class="sourceLineNo">4324</span>        break;<a name="line.4324"></a>
+<span class="sourceLineNo">4325</span>      case LESS_OR_EQUAL:<a name="line.4325"></a>
+<span class="sourceLineNo">4326</span>        matches = compareResult &lt;= 0;<a name="line.4326"></a>
+<span class="sourceLineNo">4327</span>        break;<a name="line.4327"></a>
+<span class="sourceLineNo">4328</span>      case EQUAL:<a name="line.4328"></a>
+<span class="sourceLineNo">4329</span>        matches = compareResult == 0;<a name="line.4329"></a>
+<span class="sourceLineNo">4330</span>        break;<a name="line.4330"></a>
+<span class="sourceLineNo">4331</span>      case NOT_EQUAL:<a name="line.4331"></a>
+<span class="sourceLineNo">4332</span>        matches = compareResult != 0;<a name="line.4332"></a>
+<span class="sourceLineNo">4333</span>        break;<a name="line.4333"></a>
+<span class="sourceLineNo">4334</span>      case GREATER_OR_EQUAL:<a name="line.4334"></a>
+<span class="sourceLineNo">4335</span>        matches = compareResult &gt;= 0;<a name="line.4335"></a>
+<span class="sourceLineNo">4336</span>        break;<a name="line.4336"></a>
+<span class="sourceLineNo">4337</span>      case GREATER:<a name="line.4337"></a>
+<span class="sourceLineNo">4338</span>        matches = compareResult &gt; 0;<a name="line.4338"></a>
+<span class="sourceLineNo">4339</span>        break;<a name="line.4339"></a>
+<span class="sourceLineNo">4340</span>      default:<a name="line.4340"></a>
+<span class="sourceLineNo">4341</span>        throw new RuntimeException("Unknown Compare op " + op.name());<a name="line.4341"></a>
+<span class="sourceLineNo">4342</span>    }<a name="line.4342"></a>
+<span class="sourceLineNo">4343</span>    return matches;<a name="line.4343"></a>
+<span class="sourceLineNo">4344</span>  }<a name="line.4344"></a>
+<span class="sourceLineNo">4345</span><a name="line.4345"></a>
+<span class="sourceLineNo">4346</span><a name="line.4346"></a>
+<span class="sourceLineNo">4347</span>  private void doBatchMutate(Mutation mutation) throws IOException {<a name="line.4347"></a>
+<span class="sourceLineNo">4348</span>    // Currently this is only called for puts and deletes, so no nonces.<a name="line.4348"></a>
+<span class="sourceLineNo">4349</span>    OperationStatus[] batchMutate = this.batchMutate(new Mutation[]{mutation});<a name="line.4349"></a>
+<span class="sourceLineNo">4350</span>    if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.SANITY_CHECK_FAILURE)) {<a name="line.4350"></a>
+<span class="sourceLineNo">4351</span>      throw new FailedSanityCheckException(batchMutate[0].getExceptionMsg());<a name="line.4351"></a>
+<span class="sourceLineNo">4352</span>    } else if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.BAD_FAMILY)) {<a name="line.4352"></a>
+<span class="sourceLineNo">4353</span>      throw new NoSuchColumnFamilyException(batchMutate[0].getExceptionMsg());<a name="line.4353"></a>
+<span class="sourceLineNo">4354</span>    } else if (batchMutate[0].getOperationStatusCode().equals(OperationStatusCode.STORE_TOO_BUSY)) {<a name="line.4354"></a>
+<span class="sourceLineNo">4355</span>      throw new RegionTooBusyException(batchMutate[0].getExceptionMsg());<a name="line.4355"></a>
+<span class="sourceLineNo">4356</span>    }<a name="line.4356"></a>
+<span class="sourceLineNo">4357</span>  }<a name="line.4357"></a>
+<span class="sourceLineNo">4358</span><a name="line.4358"></a>
+<span class="sourceLineNo">4359</span>  /**<a name="line.4359"></a>
+<span class="sourceLineNo">4360</span>   * Complete taking the snapshot on the region. Writes the region info and adds references to the<a name="line.4360"></a>
+<span class="sourceLineNo">4361</span>   * working snapshot directory.<a name="line.4361"></a>
 <span class="sourceLineNo">4362</span>   *<a name="line.4362"></a>
-<span class="sourceLineNo">4363</span>   * @param desc snapshot description object<a name="line.4363"></a>
-<span class="sourceLineNo">4364</span>   * @param exnSnare ForeignExceptionSnare that captures external exceptions in case we need to<a name="line.4364"></a>
-<span class="sourceLineNo">4365</span>   *   bail out.  This is allowed to be null and will just be ignored in that case.<a name="line.4365"></a>
-<span class="sourceLineNo">4366</span>   * @throws IOException if there is an external or internal error causing the snapshot to fail<a name="line.4366"></a>
-<span class="sourceLineNo">4367</span>   */<a name="line.4367"></a>
-<span class="sourceLineNo">4368</span>  public void addRegionToSnapshot(SnapshotDescription desc,<a name="line.4368"></a>
-<span class="sourceLineNo">4369</span>      ForeignExceptionSnare exnSnare) throws IOException {<a name="line.4369"></a>
-<span class="sourceLineNo">4370</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.4370"></a>
-<span class="sourceLineNo">4371</span>    Path snapshotDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(desc, rootDir, conf);<a name="line.4371"></a>
-<span class="sourceLineNo">4372</span><a name="line.4372"></a>
-<span class="sourceLineNo">4373</span>    SnapshotManifest manifest = SnapshotManifest.create(conf, getFilesystem(),<a name="line.4373"></a>
-<span class="sourceLineNo">4374</span>            snapshotDir, desc, exnSnare);<a name="line.4374"></a>
-<span class="sourceLineNo">4375</span>    manifest.addRegion(this);<a name="line.4375"></a>
-<span class="sourceLineNo">4376</span>  }<a name="line.4376"></a>
-<span class="sourceLineNo">4377</span><a name="line.4377"></a>
-<span class="sourceLineNo">4378</span>  private void updateSequenceId(final Iterable&lt;List&lt;Cell&gt;&gt; cellItr, final long sequenceId)<a name="line.4378"></a>
-<span class="sourceLineNo">4379</span>      throws IOException {<a name="line.4379"></a>
-<span class="sourceLineNo">4380</span>    for (List&lt;Cell&gt; cells: cellItr) {<a name="line.4380"></a>
-<span class="sourceLineNo">4381</span>      if (cells == null) return;<a name="line.4381"></a>
-<span class="sourceLineNo">4382</span>      for (Cell cell : cells) {<a name="line.4382"></a>
-<span class="sourceLineNo">4383</span>        PrivateCellUtil.setSequenceId(cell, sequenceId);<a name="line.4383"></a>
-<span class="sourceLineNo">4384</span>      }<a name="line.4384"></a>
-<span class="sourceLineNo">4385</span>    }<a name="line.4385"></a>
-<span class="sourceLineNo">4386</span>  }<a name="line.4386"></a>
-<span class="sourceLineNo">4387</span><a name="line.4387"></a>
-<span class="sourceLineNo">4388</span>  /**<a name="line.4388"></a>
-<span class="sourceLineNo">4389</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.4389"></a>
-<span class="sourceLineNo">4390</span>   * provided current timestamp.<a name="line.4390"></a>
-<span class="sourceLineNo">4391</span>   * @param cellItr<a name="line.4391"></a>
-<span class="sourceLineNo">4392</span>   * @param now<a name="line.4392"></a>
-<span class="sourceLineNo">4393</span>   */<a name="line.4393"></a>
-<span class="sourceLineNo">4394</span>  private static void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; cellItr, final byte[] now)<a name="line.4394"></a>
-<span class="sourceLineNo">4395</span>      throws IOException {<a name="line.4395"></a>
-<span class="sourceLineNo">4396</span>    for (List&lt;Cell&gt; cells: cellItr) {<a name="line.4396"></a>
-<span class="sourceLineNo">4397</span>      if (cells == null) continue;<a name="line.4397"></a>
-<span class="sourceLineNo">4398</span>      // Optimization: 'foreach' loop is not used. See:<a name="line.4398"></a>
-<span class="sourceLineNo">4399</span>      // HBASE-12023 HRegion.applyFamilyMapToMemstore creates too many iterator objects<a name="line.4399"></a>
-<span class="sourceLineNo">4400</span>      assert cells instanceof RandomAccess;<a name="line.4400"></a>
-<span class="sourceLineNo">4401</span>      int listSize = cells.size();<a name="line.4401"></a>
-<span class="sourceLineNo">4402</span>      for (int i = 0; i &lt; listSize; i++) {<a name="line.4402"></a>
-<span class="sourceLineNo">4403</span>        PrivateCellUtil.updateLatestStamp(cells.get(i), now);<a name="line.4403"></a>
-<span class="sourceLineNo">4404</span>      }<a name="line.4404"></a>
-<span class="sourceLineNo">4405</span>    }<a name="line.4405"></a>
-<span class="sourceLineNo">4406</span>  }<a name="line.4406"></a>
-<span class="sourceLineNo">4407</span><a name="line.4407"></a>
-<span class="sourceLineNo">4408</span>  /**<a name="line.4408"></a>
-<span class="sourceLineNo">4409</span>   * Possibly rewrite incoming cell tags.<a name="line.4409"></a>
-<span class="sourceLineNo">4410</span>   */<a name="line.4410"></a>
-<span class="sourceLineNo">4411</span>  void rewriteCellTags(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, final Mutation m) {<a name="line.4411"></a>
-<span class="sourceLineNo">4412</span>    // Check if we have any work to do and early out otherwise<a name="line.4412"></a>
-<span class="sourceLineNo">4413</span>    // Update these checks as more logic is added here<a name="line.4413"></a>
-<span class="sourceLineNo">4414</span>    if (m.getTTL() == Long.MAX_VALUE) {<a name="line.4414"></a>
-<span class="sourceLineNo">4415</span>      return;<a name="line.4415"></a>
-<span class="sourceLineNo">4416</span>    }<a name="line.4416"></a>
-<span class="sourceLineNo">4417</span><a name="line.4417"></a>
-<span class="sourceLineNo">4418</span>    // From this point we know we have some work to do<a name="line.4418"></a>
-<span class="sourceLineNo">4419</span>    for (Map.Entry&lt;byte[], List&lt;Cell&gt;&gt; e: familyMap.entrySet()) {<a name="line.4419"></a>
-<span class="sourceLineNo">4420</span>      List&lt;Cell&gt; cells = e.getValue();<a name="line.4420"></a>
-<span class="sourceLineNo">4421</span>      assert cells instanceof RandomAccess;<a name="line.4421"></a>
-<span class="sourceLineNo">4422</span>      int listSize = cells.size();<a name="line.4422"></a>
-<span class="sourceLineNo">4423</span>      for (int i = 0; i &lt; listSize; i++) {<a name="line.4423"></a>
-<span class="sourceLineNo">4424</span>        Cell cell = cells.get(i);<a name="line.4424"></a>
-<span class="sourceLineNo">4425</span>        List&lt;Tag&gt; newTags = TagUtil.carryForwardTags(null, cell);<a name="line.4425"></a>
-<span class="sourceLineNo">4426</span>        newTags = TagUtil.carryForwardTTLTag(newTags, m.getTTL());<a name="line.4426"></a>
-<span class="sourceLineNo">4427</span>        // Rewrite the cell with the updated set of tags<a name="line.4427"></a>
-<span class="sourceLineNo">4428</span>        cells.set(i, PrivateCellUtil.createCell(cell, newTags));<a name="line.4428"></a>
-<span class="sourceLineNo">4429</span>      }<a name="line.4429"></a>
-<span class="sourceLineNo">4430</span>    }<a name="line.4430"></a>
-<span class="sourceLineNo">4431</span>  }<a name="line.4431"></a>
-<span class="sourceLineNo">4432</span><a name="line.4432"></a>
-<span class="sourceLineNo">4433</span>  /*<a name="line.4433"></a>
-<span class="sourceLineNo">4434</span>   * Check if resources to support an update.<a name="line.4434"></a>
-<span class="sourceLineNo">4435</span>   *<a name="line.4435"></a>
-<span class="sourceLineNo">4436</span>   * We throw RegionTooBusyException if above memstore limit<a name="line.4436"></a>
-<span class="sourceLineNo">4437</span>   * and expect client to retry using some kind of backoff<a name="line.4437"></a>
-<span class="sourceLineNo">4438</span>  */<a name="line.4438"></a>
-<span class="sourceLineNo">4439</span>  void checkResources() throws RegionTooBusyException {<a name="line.4439"></a>
-<span class="sourceLineNo">4440</span>    // If catalog region, do not impose resource constraints or block updates.<a name="line.4440"></a>
-<span class="sourceLineNo">4441</span>    if (this.getRegionInfo().isMetaRegion()) return;<a name="line.4441"></a>
-<span class="sourceLineNo">4442</span><a name="line.4442"></a>
-<span class="sourceLineNo">4443</span>    MemStoreSize mss = this.memStoreSizing.getMemStoreSize();<a name="line.4443"></a>
-<span class="sourceLineNo">4444</span>    if (mss.getHeapSize() + mss.getOffHeapSize() &gt; this.blockingMemStoreSize) {<a name="line.4444"></a>
-<span class="sourceLineNo">4445</span>      blockedRequestsCount.increment();<a name="line.4445"></a>
-<span class="sourceLineNo">4446</span>      requestFlush();<a name="line.4446"></a>
-<span class="sourceLineNo">4447</span>      // Don't print current limit because it will vary too much. The message is used as a key<a name="line.4447"></a>
-<span class="sourceLineNo">4448</span>      // over in RetriesExhaustedWithDetailsException processing.<a name="line.4448"></a>
-<span class="sourceLineNo">4449</span>      throw new RegionTooBusyException("Over memstore limit=" +<a name="line.4449"></a>
-<span class="sourceLineNo">4450</span>        org.apache.hadoop.hbase.procedure2.util.StringUtils.humanSize(this.blockingMemStoreSize) +<a name="line.4450"></a>
-<span class="sourceLineNo">4451</span>        ", regionName=" +<a name="line.4451"></a>
-<span class="sourceLineNo">4452</span>          (this.getRegionInfo() == null? "unknown": this.getRegionInfo().getEncodedName()) +<a name="line.4452"></a>
-<span class="sourceLineNo">4453</span>          ", server=" + (this.getRegionServerServices() == null? "unknown":<a name="line.4453"></a>
-<span class="sourceLineNo">4454</span>              this.getRegionServerServices().getServerName()));<a name="line.4454"></a>
-<span class="sourceLineNo">4455</span>    }<a name="line.4455"></a>
-<span class="sourceLineNo">4456</span>  }<a name="line.4456"></a>
-<span class="sourceLineNo">4457</span><a name="line.4457"></a>
-<span class="sourceLineNo">4458</span>  /**<a name="line.4458"></a>
-<span class="sourceLineNo">4459</span>   * @throws IOException Throws exception if region is in read-only mode.<a name="line.4459"></a>
-<span class="sourceLineNo">4460</span>   */<a name="line.4460"></a>
-<span class="sourceLineNo">4461</span>  protected void checkReadOnly() throws IOException {<a name="line.4461"></a>
-<span class="sourceLineNo">4462</span>    if (isReadOnly()) {<a name="line.4462"></a>
-<span class="sourceLineNo">4463</span>      throw new DoNotRetryIOException("region is read only");<a name="line.4463"></a>
-<span class="sourceLineNo">4464</span>    }<a name="line.4464"></a>
-<span class="sourceLineNo">4465</span>  }<a name="line.4465"></a>
-<span class="sourceLineNo">4466</span><a name="line.4466"></a>
-<span class="sourceLineNo">4467</span>  protected void checkReadsEnabled() throws IOException {<a name="line.4467"></a>
-<span class="sourceLineNo">4468</span>    if (!this.writestate.readsEnabled) {<a name="line.4468"></a>
-<span class="sourceLineNo">4469</span>      throw new IOException(getRegionInfo().getEncodedName()<a name="line.4469"></a>
-<span class="sourceLineNo">4470</span>        + ": The region's reads are disabled. Cannot serve the request");<a name="line.4470"></a>
-<span class="sourceLineNo">4471</span>    }<a name="line.4471"></a>
-<span class="sourceLineNo">4472</span>  }<a name="line.4472"></a>
-<span class="sourceLineNo">4473</span><a name="line.4473"></a>
-<span class="sourceLineNo">4474</span>  public void setReadsEnabled(boolean readsEnabled) {<a name="line.4474"></a>
-<span class="sourceLineNo">4475</span>   if (readsEnabled &amp;&amp; !this.writestate.readsEnabled) {<a name="line.4475"></a>
-<span class="sourceLineNo">4476</span>     LOG.info(getRegionInfo().getEncodedName() + " : Enabling reads for region.");<a name="line.4476"></a>
-<span class="sourceLineNo">4477</span>    }<a name="line.4477"></a>
-<span class="sourceLineNo">4478</span>    this.writestate.setReadsEnabled(readsEnabled);<a name="line.4478"></a>
-<span class="sourceLineNo">4479</span>  }<a name="line.4479"></a>
-<span class="sourceLineNo">4480</span><a name="line.4480"></a>
-<span class="sourceLineNo">4481</span>  /**<a name="line.4481"></a>
-<span class="sourceLineNo">4482</span>   * Add updates first to the wal and then add values to memstore.<a name="line.4482"></a>
-<span class="sourceLineNo">4483</span>   * &lt;p&gt;<a name="line.4483"></a>
-<span class="sourceLineNo">4484</span>   * Warning: Assumption is caller has lock on passed in row.<a name="line.4484"></a>
-<span class="sourceLineNo">4485</span>   * @param edits Cell updates by column<a name="line.4485"></a>
-<span class="sourceLineNo">4486</span>   */<a name="line.4486"></a>
-<span class="sourceLineNo">4487</span>  void put(final byte[] row, byte[] family, List&lt;Cell&gt; edits) throws IOException {<a name="line.4487"></a>
-<span class="sourceLineNo">4488</span>    NavigableMap&lt;byte[], List&lt;Cell&gt;&gt; familyMap;<a name="line.4488"></a>
-<span class="sourceLineNo">4489</span>    familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.4489"></a>
-<span class="sourceLineNo">4490</span><a name="line.4490"></a>
-<span class="sourceLineNo">4491</span>    familyMap.put(family, edits);<a name="line.4491"></a>
-<span class="sourceLineNo">4492</span>    Put p = new Put(row, HConstants.LATEST_TIMESTAMP, familyMap);<a name="line.4492"></a>
-<span class="sourceLineNo">4493</span>    doBatchMutate(p);<a name="line.4493"></a>
-<span class="sourceLineNo">4494</span>  }<a name="line.4494"></a>
-<span class="sourceLineNo">4495</span><a name="line.4495"></a>
-<span class="sourceLineNo">4496</span>  /**<a name="line.4496"></a>
-<span class="sourceLineNo">4497</span>   * @param delta If we are doing delta changes -- e.g. increment/append -- then this flag will be<a name="line.4497"></a>
-<span class="sourceLineNo">4498</span>   *          set; when set we will run operations that make sense in the increment/append scenario<a name="line.4498"></a>
-<span class="sourceLineNo">4499</span>   *          but that do not make sense otherwise.<a name="line.4499"></a>
-<span class="sourceLineNo">4500</span>   * @see #applyToMemStore(HStore, Cell, MemStoreSizing)<a name="line.4500"></a>
-<span class="sourceLineNo">4501</span>   */<a name="line.4501"></a>
-<span class="sourceLineNo">4502</span>  private void applyToMemStore(HStore store, List&lt;Cell&gt; cells, boolean delta,<a name="line.4502"></a>
-<span class="sourceLineNo">4503</span>      MemStoreSizing memstoreAccounting) throws IOException {<a name="line.4503"></a>
-<span class="sourceLineNo">4504</span>    // Any change in how we update Store/MemStore needs to also be done in other applyToMemStore!!!!<a name="line.4504"></a>
-<span class="sourceLineNo">4505</span>    boolean upsert = delta &amp;&amp; store.getColumnFamilyDescriptor().getMaxVersions() == 1;<a name="line.4505"></a>
-<span class="sourceLineNo">4506</span>    if (upsert) {<a name="line.4506"></a>
-<span class="sourceLineNo">4507</span>      store.upsert(cells, getSmallestReadPoint(), memstoreAccounting);<a name="line.4507"></a>
-<span class="sourceLineNo">4508</span>    } else {<a name="line.4508"></a>
-<span class="sourceLineNo">4509</span>      store.add(cells, memstoreAccounting);<a name="line.4509"></a>
-<span class="sourceLineNo">4510</span>    }<a name="line.4510"></a>
-<span class="sourceLineNo">4511</span>  }<a name="line.4511"></a>
-<span class="sourceLineNo">4512</span><a name="line.4512"></a>
-<span class="sourceLineNo">4513</span>  /**<a name="line.4513"></a>
-<span class="sourceLineNo">4514</span>   * @see #applyToMemStore(HStore, List, boolean, MemStoreSizing)<a name="line.4514"></a>
-<span class="sourceLineNo">4515</span>   */<a name="line.4515"></a>
-<span class="sourceLineNo">4516</span>  private void applyToMemStore(HStore store, Cell cell, MemStoreSizing memstoreAccounting)<a name="line.4516"></a>
-<span class="sourceLineNo">4517</span>      throws IOException {<a name="line.4517"></a>
-<span class="sourceLineNo">4518</span>    // Any change in how we update Store/MemStore needs to also be done in other applyToMemStore!!!!<a name="line.4518"></a>
-<span class="sourceLineNo">4519</span>    if (store == null) {<a name="line.4519"></a>
-<span class="sourceLineNo">4520</span>      checkFamily(CellUtil.cloneFamily(cell));<a name="line.4520"></a>
-<span class="sourceLineNo">4521</span>      // Unreachable because checkFamily will throw exception<a name="line.4521"></a>
-<span class="sourceLineNo">4522</span>    }<a name="line.4522"></a>
-<span class="sourceLineNo">4523</span>    store.add(cell, memstoreAccounting);<a name="line.4523"></a>
-<span class="sourceLineNo">4524</span>  }<a name="line.4524"></a>
-<span class="sourceLineNo">4525</span><a name="line.4525"></a>
-<span class="sourceLineNo">4526</span>  private void checkFamilies(Collection&lt;byte[]&gt; families, Durability durability)<a name="line.4526"></a>
-<span class="sourceLineNo">4527</span>      throws NoSuchColumnFamilyException, InvalidMutationDurabilityException {<a name="line.4527"></a>
-<span class="sourceLineNo">4528</span>    for (byte[] family : families) {<a name="line.4528"></a>
-<span class="sourceLineNo">4529</span>      checkFamily(family, durability);<a name="line.4529"></a>
-<span class="sourceLineNo">4530</span>    }<a name="line.4530"></a>
-<span class="sourceLineNo">4531</span>  }<a name="line.4531"></a>
-<span class="sourceLineNo">4532</span><a name="line.4532"></a>
-<span class="sourceLineNo">4533</span>  private void checkFamily(final byte[] family, Durability durability)<a name="line.4533"></a>
-<span class="sourceLineNo">4534</span>      throws NoSuchColumnFamilyException, InvalidMutationDurabilityException {<a name="line.4534"></a>
-<span class="sourceLineNo">4535</span>    checkFamily(family);<a name="line.4535"></a>
-<span class="sourceLineNo">4536</span>    if (durability.equals(Durability.SKIP_WAL)<a name="line.4536"></a>
-<span class="sourceLineNo">4537</span>        &amp;&amp; htableDescriptor.getColumnFamily(family).getScope()<a name="line.4537"></a>
-<span class="sourceLineNo">4538</span>        != HConstants.REPLICATION_SCOPE_LOCAL) {<a name="line.4538"></a>
-<span class="sourceLineNo">4539</span>      throw new InvalidMutationDurabilityException(<a name="line.4539"></a>
-<span class="sourceLineNo">4540</span>          "Mutation's durability is SKIP_WAL but table's column family " + Bytes.toString(family)<a name="line.4540"></a>
-<span class="sourceLineNo">4541</span>              + " need replication");<a name="line.4541"></a>
-<span class="sourceLineNo">4542</span>    }<a name="line.4542"></a>
-<span class="sourceLineNo">4543</span>  }<a name="line.4543"></a>
-<span class="sourceLineNo">4544</span><a name="line.4544"></a>
-<span class="sourceLineNo">4545</span>  void checkFamily(final byte[] family) throws NoSuchColumnFamilyException {<a name="line.4545"></a>
-<span class="sourceLineNo">4546</span>    if (!this.htableDescriptor.hasColumnFamily(family)) {<a name="line.4546"></a>
-<span class="sourceLineNo">4547</span>      throw new NoSuchColumnFamilyException(<a name="line.4547"></a>
-<span class="sourceLineNo">4548</span>          "Column family " + Bytes.toString(family) + " does not exist in region " + this<a name="line.4548"></a>
-<span class="sourceLineNo">4549</span>              + " in table " + this.htableDescriptor);<a name="line.4549"></a>
-<span class="sourceLineNo">4550</span>    }<a name="line.4550"></a>
-<span class="sourceLineNo">4551</span>  }<a name="line.4551"></a>
-<span class="sourceLineNo">4552</span><a name="line.4552"></a>
-<span class="sourceLineNo">4553</span>  /**<a name="line.4553"></a>
-<span class="sourceLineNo">4554</span>   * Check the collection of families for valid timestamps<a name="line.4554"></a>
-<span class="sourceLineNo">4555</span>   * @param familyMap<a name="line.4555"></a>
-<span class="sourceLineNo">4556</span>   * @param now current timestamp<a name="line.4556"></a>
-<span class="sourceLineNo">4557</span>   * @throws FailedSanityCheckException<a name="line.4557"></a>
-<span class="sourceLineNo">4558</span>   */<a name="line.4558"></a>
-<span class="sourceLineNo">4559</span>  public void checkTimestamps(final Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.4559"></a>
-<span class="sourceLineNo">4560</span>      throws FailedSanityCheckException {<a name="line.4560"></a>
-<span class="sourceLineNo">4561</span>    if (timestampSlop == HConstants.LATEST_TIMESTAMP) {<a name="line.4561"></a>
-<span class="sourceLineNo">4562</span>      return;<a name="line.4562"></a>
-<span class="sourceLineNo">4563</span>    }<a name="line.4563"></a>
-<span class="sourceLineNo">4564</span>    long maxTs = now + timestampSlop;<a name="line.4564"></a>
-<span class="sourceLineNo">4565</span>    for (List&lt;Cell&gt; kvs : familyMap.values()) {<a name="line.4565"></a>
-<span class="sourceLineNo">4566</span>      // Optimization: 'foreach' loop is not used. See:<a name="line.4566"></a>
-<span class="sourceLineNo">4567</span>      // HBASE-12023 HRegion.applyFamilyMapToMemstore creates too many iterator objects<a name="line.4567"></a>
-<span class="sourceLineNo">4568</span>      assert kvs instanceof RandomAccess;<a name="line.4568"></a>
-<span class="sourceLineNo">4569</span>      int listSize  = kvs.size();<a name="line.4569"></a>
-<span class="sourceLineNo">4570</span>      for (int i=0; i &lt; listSize; i++) {<a name="line.4570"></a>
-<span class="sourceLineNo">4571</span>        Cell cell = kvs.get(i);<a name="line.4571"></a>
-<span class="sourceLineNo">4572</span>        // see if the user-side TS is out of range. latest = server-side<a name="line.4572"></a>
-<span class="sourceLineNo">4573</span>        long ts = cell.getTimestamp();<a name="line.4573"></a>
-<span class="sourceLineNo">4574</span>        if (ts != HConstants.LATEST_TIMESTAMP &amp;&amp; ts &gt; maxTs) {<a name="line.4574"></a>
-<span class="sourceLineNo">4575</span>          throw new FailedSanityCheckException("Timestamp for KV out of range "<a name="line.4575"></a>
-<span class="sourceLineNo">4576</span>              + cell + " (too.new=" + timestampSlop + ")");<a name="line.4576"></a>
-<span class="sourceLineNo">4577</span>        }<a name="line.4577"></a>
-<span class="sourceLineNo">4578</span>      }<a name="line.4578"></a>
-<span class="sourceLineNo">4579</span>    }<a name="line.4579"></a>
-<span class="sourceLineNo">4580</span>  }<a name="line.4580"></a>
-<span class="sourceLineNo">4581</span><a name="line.4581"></a>
-<span class="sourceLineNo">4582</span>  /*<a name="line.4582"></a>
-<span class="sourceLineNo">4583</span>   * @param size<a name="line.4583"></a>
-<span class="sourceLineNo">4584</span>   * @return True if size is over the flush threshold<a name="line.4584"></a>
-<span class="sourceLineNo">4585</span>   */<a name="line.4585"></a>
-<span class="sourceLineNo">4586</span>  private boolean isFlushSize(MemStoreSize size) {<a name="line.4586"></a>
-<span class="sourceLineNo">4587</span>    return size.getHeapSize() + size.getOffHeapSize() &gt; getMemStoreFlushSize();<a name="line.4587"></a>
-<span class="sourceLineNo">4588</span>  }<a name="line.4588"></a>
-<span class="sourceLineNo">4589</span><a name="line.4589"></a>
-<span class="sourceLineNo">4590</span>  /**<a name="line.4590"></a>
-<span class="sourceLineNo">4591</span>   * Read the edits put under this region by wal splitting process.  Put<a name="line.4591"></a>
-<span class="sourceLineNo">4592</span>   * the recovered edits back up into this region.<a name="line.4592"></a>
-<span class="sourceLineNo">4593</span>   *<a name="line.4593"></a>
-<span class="sourceLineNo">4594</span>   * &lt;p&gt;We can ignore any wal message that has a sequence ID that's equal to or<a name="line.4594"></a>
-<span class="sourceLineNo">4595</span>   * lower than minSeqId.  (Because we know such messages are already<a name="line.4595"></a>
-<span class="sourceLineNo">4596</span>   * reflected in the HFiles.)<a name="line.4596"></a>
+<span class="sourceLineNo">4363</span>   * TODO for api consistency, consider adding another version with no {@link ForeignExceptionSnare}<a name="line.4363"></a>
+<span class="sourceLineNo">4364</span>   * arg.  (In the future other cancellable HRegion methods could eventually add a<a name="line.4364"></a>
+<span class="sourceLineNo">4365</span>   * {@link ForeignExceptionSnare}, or we could do something fancier).<a name="line.4365"></a>
+<span class="sourceLineNo">4366</span>   *<a name="line.4366"></a>
+<span class="sourceLineNo">4367</span>   * @param desc snapshot description object<a name="line.4367"></a>
+<span class="sourceLineNo">4368</span>   * @param exnSnare ForeignExceptionSnare that captures external exceptions in case we need to<a name="line.4368"></a>
+<span class="sourceLineNo">4369</span>   *   bail out.  This is allowed to be null and will just be ignored in that case.<a name="line.4369"></a>
+<span class="sourceLineNo">4370</span>   * @throws IOException if there is an external or internal error causing the snapshot to fail<a name="line.4370"></a>
+<span class="sourceLineNo">4371</span>   */<a name="line.4371"></a>
+<span class="sourceLineNo">4372</span>  public void addRegionToSnapshot(SnapshotDescription desc,<a name="line.4372"></a>
+<span class="sourceLineNo">4373</span>      ForeignExceptionSnare exnSnare) throws IOException {<a name="line.4373"></a>
+<span class="sourceLineNo">4374</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.4374"></a>
+<span class="sourceLineNo">4375</span>    Path snapshotDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(desc, rootDir, conf);<a name="line.4375"></a>
+<span class="sourceLineNo">4376</span><a name="line.4376"></a>
+<span class="sourceLineNo">4377</span>    SnapshotManifest manifest = SnapshotManifest.create(conf, getFilesystem(),<a name="line.4377"></a>
+<span class="sourceLineNo">4378</span>            snapshotDir, desc, exnSnare);<a name="line.4378"></a>
+<span class="sourceLineNo">4379</span>    manifest.addRegion(this);<a name="line.4379"></a>
+<span class="sourceLineNo">4380</span>  }<a name="line.4380"></a>
+<span class="sourceLineNo">4381</span><a name="line.4381"></a>
+<span class="sourceLineNo">4382</span>  private void updateSequenceId(final Iterable&lt;List&lt;Cell&gt;&gt; cellItr, final long sequenceId)<a name="line.4382"></a>
+<span class="sourceLineNo">4383</span>      throws IOException {<a name="line.4383"></a>
+<span class="sourceLineNo">4384</span>    for (List&lt;Cell&gt; cells: cellItr) {<a name="line.4384"></a>
+<span class="sourceLineNo">4385</span>      if (cells == null) return;<a name="line.4385"></a>
+<span class="sourceLineNo">4386</span>      for (Cell cell : cells) {<a name="line.4386"></a>
+<span class="sourceLineNo">4387</span>        PrivateCellUtil.setSequenceId(cell, sequenceId);<a name="line.4387"></a>
+<span class="sourceLineNo">4388</span>      }<a name="line.4388"></a>
+<span class="sourceLineNo">4389</span>    }<a name="line.4389"></a>
+<span class="sourceLineNo">4390</span>  }<a name="line.4390"></a>
+<span class="sourceLineNo">4391</span><a name="line.4391"></a>
+<span class="sourceLineNo">4392</span>  /**<a name="line.4392"></a>
+<span class="sourceLineNo">4393</span>   * Replace any cell timestamps set to {@link org.apache.hadoop.hbase.HConstants#LATEST_TIMESTAMP}<a name="line.4393"></a>
+<span class="sourceLineNo">4394</span>   * provided current timestamp.<a name="line.4394"></a>
+<span class="sourceLineNo">4395</span>   * @param cellItr<a name="line.4395"></a>
+<span class="sourceLineNo">4396</span>   * @param now<a name="line.4396"></a>
+<span class="sourceLineNo">4397</span>   */<a name="line.4397"></a>
+<span class="sourceLineNo">4398</span>  private static void updateCellTimestamps(final Iterable&lt;List&lt;Cell&gt;&gt; cellItr, final byte[] now)<a name="line.4398"></a>
+<span class="sourceLineNo">4399</span>      throws IOException {<a name="line.4399"></a>
+<span class="sourceLineNo">4400</span>    for (List&lt;Cell&gt; cells: cellItr) {<a name="line.4400"></a>
+<span class="sourceLineNo">4401</span>      if (cells == null) continue;<a name="line.4401"></a>
+<span class="sourceLineNo">4402</span>      // Optimization: 'foreach' loop is not used. See:<a name="line.4402"></a>
+<span class="sourceLineNo">4403</span>      // HBASE-12023 HRegion.applyFamilyMapToMemstore creates too many iterator objects<a name="line.4403"></a>
+<span class="sourceLineNo">4404</span>      assert cells instanceof RandomAccess;<a name="line.4404"></a>
+<span class="sourceLineNo">4405</span>      int listSize = cells.size();<a name="line.4405"></a>
+<span class="sourceLineNo">4406</span>      for (int i = 0; i &lt; listSize; i++) {<a name="line.4406"></a>
+<span class="sourceLineNo">4407</span>        PrivateCellUtil.updateLatestStamp(cells.get(i), now);<a name="line.4407"></a>
+<span class="sourceLineNo">4408</span>      }<a name="line.4408"></a>
+<span class="sourceLineNo">4409</span>    }<a name="line.4409"></a>
+<span class="sourceLineNo">4410</span>  }<a name="line.4410"></a>
+<span class="sourceLineNo">4411</span><a name="line.4411"></a>
+<span class="sourceLineNo">4412</span>  /**<a name="line.4412"></a>
+<span class="sourceLineNo">4413</span>   * Possibly rewrite incoming cell tags.<a name="line.4413"></a>
+<span class="sourceLineNo">4414</span>   */<a name="line.4414"></a>
+<span class="sourceLineNo">4415</span>  void rewriteCellTags(Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, final Mutation m) {<a name="line.4415"></a>
+<span class="sourceLineNo">4416</span>    // Check if we have any work to do and early out otherwise<a name="line.4416"></a>
+<span class="sourceLineNo">4417</span>    // Update these checks as more logic is added here<a name="line.4417"></a>
+<span class="sourceLineNo">4418</span>    if (m.getTTL() == Long.MAX_VALUE) {<a name="line.4418"></a>
+<span class="sourceLineNo">4419</span>      return;<a name="line.4419"></a>
+<span class="sourceLineNo">4420</span>    }<a name="line.4420"></a>
+<span class="sourceLineNo">4421</span><a name="line.4421"></a>
+<span class="sourceLineNo">4422</span>    // From this point we know we have some work to do<a name="line.4422"></a>
+<span class="sourceLineNo">4423</span>    for (Map.Entry&lt;byte[], List&lt;Cell&gt;&gt; e: familyMap.entrySet()) {<a name="line.4423"></a>
+<span class="sourceLineNo">4424</span>      List&lt;Cell&gt; cells = e.getValue();<a name="line.4424"></a>
+<span class="sourceLineNo">4425</span>      assert cells instanceof RandomAccess;<a name="line.4425"></a>
+<span class="sourceLineNo">4426</span>      int listSize = cells.size();<a name="line.4426"></a>
+<span class="sourceLineNo">4427</span>      for (int i = 0; i &lt; listSize; i++) {<a name="line.4427"></a>
+<span class="sourceLineNo">4428</span>        Cell cell = cells.get(i);<a name="line.4428"></a>
+<span class="sourceLineNo">4429</span>        List&lt;Tag&gt; newTags = TagUtil.carryForwardTags(null, cell);<a name="line.4429"></a>
+<span class="sourceLineNo">4430</span>        newTags = TagUtil.carryForwardTTLTag(newTags, m.getTTL());<a name="line.4430"></a>
+<span class="sourceLineNo">4431</span>        // Rewrite the cell with the updated set of tags<a name="line.4431"></a>
+<span class="sourceLineNo">4432</span>        cells.set(i, PrivateCellUtil.createCell(cell, newTags));<a name="line.4432"></a>
+<span class="sourceLineNo">4433</span>      }<a name="line.4433"></a>
+<span class="sourceLineNo">4434</span>    }<a name="line.4434"></a>
+<span class="sourceLineNo">4435</span>  }<a name="line.4435"></a>
+<span class="sourceLineNo">4436</span><a name="line.4436"></a>
+<span class="sourceLineNo">4437</span>  /*<a name="line.4437"></a>
+<span class="sourceLineNo">4438</span>   * Check if resources to support an update.<a name="line.4438"></a>
+<span class="sourceLineNo">4439</span>   *<a name="line.4439"></a>
+<span class="sourceLineNo">4440</span>   * We throw RegionTooBusyException if above memstore limit<a name="line.4440"></a>
+<span class="sourceLineNo">4441</span>   * and expect client to retry using some kind of backoff<a name="line.4441"></a>
+<span class="sourceLineNo">4442</span>  */<a name="line.4442"></a>
+<span class="sourceLineNo">4443</span>  void checkResources() throws RegionTooBusyException {<a name="line.4443"></a>
+<span class="sourceLineNo">4444</span>    // If catalog region, do not impose resource constraints or block updates.<a name="line.4444"></a>
+<span class="sourceLineNo">4445</span>    if (this.getRegionInfo().isMetaRegion()) return;<a name="line.4445"></a>
+<span class="sourceLineNo">4446</span><a name="line.4446"></a>
+<span class="sourceLineNo">4447</span>    MemStoreSize mss = this.memStoreSizing.getMemStoreSize();<a name="line.4447"></a>
+<span class="sourceLineNo">4448</span>    if (mss.getHeapSize() + mss.getOffHeapSize() &gt; this.blockingMemStoreSize) {<a name="line.4448"></a>
+<span class="sourceLineNo">4449</span>      blockedRequestsCount.increment();<a name="line.4449"></a>
+<span class="sourceLineNo">4450</span>      requestFlush();<a name="line.4450"></a>
+<span class="sourceLineNo">4451</span>      // Don't print current limit because it will vary too much. The message is used as a key<a name="line.4451"></a>
+<span class="sourceLineNo">4452</span>      // over in RetriesExhaustedWithDetailsException processing.<a name="line.4452"></a>
+<span class="sourceLineNo">4453</span>      throw new RegionTooBusyException("Over memstore limit=" +<a name="line.4453"></a>
+<span class="sourceLineNo">4454</span>        org.apache.hadoop.hbase.procedure2.util.StringUtils.humanSize(this.blockingMemStoreSize) +<a name="line.4454"></a>
+<span class="sourceLineNo">4455</span>        ", regionName=" +<a name="line.4455"></a>
+<span class="sourceLineNo">4456</span>          (this.getRegionInfo() == null? "unknown": this.getRegionInfo().getEncodedName()) +<a name="line.4456"></a>
+<span class="sourceLineNo">4457</span>          ", server=" + (this.getRegionServerServices() == null? "unknown":<a name="line.4457"></a>
+<span class="sourceLineNo">4458</span>              this.getRegionServerServices().getServerName()));<a name="line.4458"></a>
+<span class="sourceLineNo">4459</span>    }<a name="line.4459"></a>
+<span class="sourceLineNo">4460</span>  }<a name="line.4460"></a>
+<span class="sourceLineNo">4461</span><a name="line.4461"></a>
+<span class="sourceLineNo">4462</span>  /**<a name="line.4462"></a>
+<span class="sourceLineNo">4463</span>   * @throws IOException Throws exception if region is in read-only mode.<a name="line.4463"></a>
+<span class="sourceLineNo">4464</span>   */<a name="line.4464"></a>
+<span class="sourceLineNo">4465</span>  protected void checkReadOnly() throws IOException {<a name="line.4465"></a>
+<span class="sourceLineNo">4466</span>    if (isReadOnly()) {<a name="line.4466"></a>
+<span class="sourceLineNo">4467</span>      throw new DoNotRetryIOException("region is read only");<a name="line.4467"></a>
+<span class="sourceLineNo">4468</span>    }<a name="line.4468"></a>
+<span class="sourceLineNo">4469</span>  }<a name="line.4469"></a>
+<span class="sourceLineNo">4470</span><a name="line.4470"></a>
+<span class="sourceLineNo">4471</span>  protected void checkReadsEnabled() throws IOException {<a name="line.4471"></a>
+<span class="sourceLineNo">4472</span>    if (!this.writestate.readsEnabled) {<a name="line.4472"></a>
+<span class="sourceLineNo">4473</span>      throw new IOException(getRegionInfo().getEncodedName()<a name="line.4473"></a>
+<span class="sourceLineNo">4474</span>        + ": The region's reads are disabled. Cannot serve the request");<a name="line.4474"></a>
+<span class="sourceLineNo">4475</span>    }<a name="line.4475"></a>
+<span class="sourceLineNo">4476</span>  }<a name="line.4476"></a>
+<span class="sourceLineNo">4477</span><a name="line.4477"></a>
+<span class="sourceLineNo">4478</span>  public void setReadsEnabled(boolean readsEnabled) {<a name="line.4478"></a>
+<span class="sourceLineNo">4479</span>   if (readsEnabled &amp;&amp; !this.writestate.readsEnabled) {<a name="line.4479"></a>
+<span class="sourceLineNo">4480</span>     LOG.info(getRegionInfo().getEncodedName() + " : Enabling reads for region.");<a name="line.4480"></a>
+<span class="sourceLineNo">4481</span>    }<a name="line.4481"></a>
+<span class="sourceLineNo">4482</span>    this.writestate.setReadsEnabled(readsEnabled);<a name="line.4482"></a>
+<span class="sourceLineNo">4483</span>  }<a name="line.4483"></a>
+<span class="sourceLineNo">4484</span><a name="line.4484"></a>
+<span class="sourceLineNo">4485</span>  /**<a name="line.4485"></a>
+<span class="sourceLineNo">4486</span>   * Add updates first to the wal and then add values to memstore.<a name="line.4486"></a>
+<span class="sourceLineNo">4487</span>   * &lt;p&gt;<a name="line.4487"></a>
+<span class="sourceLineNo">4488</span>   * Warning: Assumption is caller has lock on passed in row.<a name="line.4488"></a>
+<span class="sourceLineNo">4489</span>   * @param edits Cell updates by column<a name="line.4489"></a>
+<span class="sourceLineNo">4490</span>   */<a name="line.4490"></a>
+<span class="sourceLineNo">4491</span>  void put(final byte[] row, byte[] family, List&lt;Cell&gt; edits) throws IOException {<a name="line.4491"></a>
+<span class="sourceLineNo">4492</span>    NavigableMap&lt;byte[], List&lt;Cell&gt;&gt; familyMap;<a name="line.4492"></a>
+<span class="sourceLineNo">4493</span>    familyMap = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.4493"></a>
+<span class="sourceLineNo">4494</span><a name="line.4494"></a>
+<span class="sourceLineNo">4495</span>    familyMap.put(family, edits);<a name="line.4495"></a>
+<span class="sourceLineNo">4496</span>    Put p = new Put(row, HConstants.LATEST_TIMESTAMP, familyMap);<a name="line.4496"></a>
+<span class="sourceLineNo">4497</span>    doBatchMutate(p);<a name="line.4497"></a>
+<span class="sourceLineNo">4498</span>  }<a name="line.4498"></a>
+<span class="sourceLineNo">4499</span><a name="line.4499"></a>
+<span class="sourceLineNo">4500</span>  /**<a name="line.4500"></a>
+<span class="sourceLineNo">4501</span>   * @param delta If we are doing delta changes -- e.g. increment/append -- then this flag will be<a name="line.4501"></a>
+<span class="sourceLineNo">4502</span>   *          set; when set we will run operations that make sense in the increment/append scenario<a name="line.4502"></a>
+<span class="sourceLineNo">4503</span>   *          but that do not make sense otherwise.<a name="line.4503"></a>
+<span class="sourceLineNo">4504</span>   * @see #applyToMemStore(HStore, Cell, MemStoreSizing)<a name="line.4504"></a>
+<span class="sourceLineNo">4505</span>   */<a name="line.4505"></a>
+<span class="sourceLineNo">4506</span>  private void applyToMemStore(HStore store, List&lt;Cell&gt; cells, boolean delta,<a name="line.4506"></a>
+<span class="sourceLineNo">4507</span>      MemStoreSizing memstoreAccounting) throws IOException {<a name="line.4507"></a>
+<span class="sourceLineNo">4508</span>    // Any change in how we update Store/MemStore needs to also be done in other applyToMemStore!!!!<a name="line.4508"></a>
+<span class="sourceLineNo">4509</span>    boolean upsert = delta &amp;&amp; store.getColumnFamilyDescriptor().getMaxVersions() == 1;<a name="line.4509"></a>
+<span class="sourceLineNo">4510</span>    if (upsert) {<a name="line.4510"></a>
+<span class="sourceLineNo">4511</span>      store.upsert(cells, getSmallestReadPoint(), memstoreAccounting);<a name="line.4511"></a>
+<span class="sourceLineNo">4512</span>    } else {<a name="line.4512"></a>
+<span class="sourceLineNo">4513</span>      store.add(cells, memstoreAccounting);<a name="line.4513"></a>
+<span class="sourceLineNo">4514</span>    }<a name="line.4514"></a>
+<span class="sourceLineNo">4515</span>  }<a name="line.4515"></a>
+<span class="sourceLineNo">4516</span><a name="line.4516"></a>
+<span class="sourceLineNo">4517</span>  /**<a name="line.4517"></a>
+<span class="sourceLineNo">4518</span>   * @see #applyToMemStore(HStore, List, boolean, MemStoreSizing)<a name="line.4518"></a>
+<span class="sourceLineNo">4519</span>   */<a name="line.4519"></a>
+<span class="sourceLineNo">4520</span>  private void applyToMemStore(HStore store, Cell cell, MemStoreSizing memstoreAccounting)<a name="line.4520"></a>
+<span class="sourceLineNo">4521</span>      throws IOException {<a name="line.4521"></a>
+<span class="sourceLineNo">4522</span>    // Any change in how we update Store/MemStore needs to also be done in other applyToMemStore!!!!<a name="line.4522"></a>
+<span class="sourceLineNo">4523</span>    if (store == null) {<a name="line.4523"></a>
+<span class="sourceLineNo">4524</span>      checkFamily(CellUtil.cloneFamily(cell));<a name="line.4524"></a>
+<span class="sourceLineNo">4525</span>      // Unreachable because checkFamily will throw exception<a name="line.4525"></a>
+<span class="sourceLineNo">4526</span>    }<a name="line.4526"></a>
+<span class="sourceLineNo">4527</span>    store.add(cell, memstoreAccounting);<a name="line.4527"></a>
+<span class="sourceLineNo">4528</span>  }<a name="line.4528"></a>
+<span class="sourceLineNo">4529</span><a name="line.4529"></a>
+<span class="sourceLineNo">4530</span>  private void checkFamilies(Collection&lt;byte[]&gt; families, Durability durability)<a name="line.4530"></a>
+<span class="sourceLineNo">4531</span>      throws NoSuchColumnFamilyException, InvalidMutationDurabilityException {<a name="line.4531"></a>
+<span class="sourceLineNo">4532</span>    for (byte[] family : families) {<a name="line.4532"></a>
+<span class="sourceLineNo">4533</span>      checkFamily(family, durability);<a name="line.4533"></a>
+<span class="sourceLineNo">4534</span>    }<a name="line.4534"></a>
+<span class="sourceLineNo">4535</span>  }<a name="line.4535"></a>
+<span class="sourceLineNo">4536</span><a name="line.4536"></a>
+<span class="sourceLineNo">4537</span>  private void checkFamily(final byte[] family, Durability durability)<a name="line.4537"></a>
+<span class="sourceLineNo">4538</span>      throws NoSuchColumnFamilyException, InvalidMutationDurabilityException {<a name="line.4538"></a>
+<span class="sourceLineNo">4539</span>    checkFamily(family);<a name="line.4539"></a>
+<span class="sourceLineNo">4540</span>    if (durability.equals(Durability.SKIP_WAL)<a name="line.4540"></a>
+<span class="sourceLineNo">4541</span>        &amp;&amp; htableDescriptor.getColumnFamily(family).getScope()<a name="line.4541"></a>
+<span class="sourceLineNo">4542</span>        != HConstants.REPLICATION_SCOPE_LOCAL) {<a name="line.4542"></a>
+<span class="sourceLineNo">4543</span>      throw new InvalidMutationDurabilityException(<a name="line.4543"></a>
+<span class="sourceLineNo">4544</span>          "Mutation's durability is SKIP_WAL but table's column family " + Bytes.toString(family)<a name="line.4544"></a>
+<span class="sourceLineNo">4545</span>              + " need replication");<a name="line.4545"></a>
+<span class="sourceLineNo">4546</span>    }<a name="line.4546"></a>
+<span class="sourceLineNo">4547</span>  }<a name="line.4547"></a>
+<span class="sourceLineNo">4548</span><a name="line.4548"></a>
+<span class="sourceLineNo">4549</span>  void checkFamily(final byte[] family) throws NoSuchColumnFamilyException {<a name="line.4549"></a>
+<span class="sourceLineNo">4550</span>    if (!this.htableDescriptor.hasColumnFamily(family)) {<a name="line.4550"></a>
+<span class="sourceLineNo">4551</span>      throw new NoSuchColumnFamilyException(<a name="line.4551"></a>
+<span class="sourceLineNo">4552</span>          "Column family " + Bytes.toString(family) + " does not exist in region " + this<a name="line.4552"></a>
+<span class="sourceLineNo">4553</span>              + " in table " + this.htableDescriptor);<a name="line.4553"></a>
+<span class="sourceLineNo">4554</span>    }<a name="line.4554"></a>
+<span class="sourceLineNo">4555</span>  }<a name="line.4555"></a>
+<span class="sourceLineNo">4556</span><a name="line.4556"></a>
+<span class="sourceLineNo">4557</span>  /**<a name="line.4557"></a>
+<span class="sourceLineNo">4558</span>   * Check the collection of families for valid timestamps<a name="line.4558"></a>
+<span class="sourceLineNo">4559</span>   * @param familyMap<a name="line.4559"></a>
+<span class="sourceLineNo">4560</span>   * @param now current timestamp<a name="line.4560"></a>
+<span class="sourceLineNo">4561</span>   * @throws FailedSanityCheckException<a name="line.4561"></a>
+<span class="sourceLineNo">4562</span>   */<a name="line.4562"></a>
+<span class="sourceLineNo">4563</span>  public void checkTimestamps(final Map&lt;byte[], List&lt;Cell&gt;&gt; familyMap, long now)<a name="line.4563"></a>
+<span class="sourceLineNo">4564</span>      throws FailedSanityCheckException {<a name="line.4564"></a>
+<span class="sourceLineNo">4565</span>    if (timestampSlop == HConstants.LATEST_TIMESTAMP) {<a name="line.4565"></a>
+<span class="sourceLineNo">4566</span>      return;<a name="line.4566"></a>
+<span class="sourceLineNo">4567</span>    }<a name="line.4567"></a>
+<span class="sourceLineNo">4568</span>    long maxTs = now + timestampSlop;<a name="line.4568"></a>
+<span class="sourceLineNo">4569</span>    for (List&lt;Cell&gt; kvs : familyMap.values()) {<a name="line.4569"></a>
+<span class="sourceLineNo">4570</span>      // Optimization: 'foreach' loop is not used. See:<a name="line.4570"></a>
+<span class="sourceLineNo">4571</span>      // HBASE-12023 HRegion.applyFamilyMapToMemstore creates too many iterator objects<a name="line.4571"></a>
+<span class="sourceLineNo">4572</span>      assert kvs instanceof RandomAccess;<a name="line.4572"></a>
+<span class="sourceLineNo">4573</span>      int listSize  = kvs.size();<a name="line.4573"></a>
+<span class="sourceLineNo">4574</span>      for (int i=0; i &lt; listSize; i++) {<a name="line.4574"></a>
+<span class="sourceLineNo">4575</span>        Cell cell = kvs.get(i);<a name="line.4575"></a>
+<span class="sourceLineNo">4576</span>        // see if the user-side TS is out of range. latest = server-side<a name="line.4576"></a>
+<span class="sourceLineNo">4577</span>        long ts = cell.getTimestamp();<a name="line.4577"></a>
+<span class="sourceLineNo">4578</span>        if (ts != HConstants.LATEST_TIMESTAMP &amp;&amp; ts &gt; maxTs) {<a name="line.4578"></a>
+<span class="sourceLineNo">4579</span>          throw new FailedSanityCheckException("Timestamp for KV out of range "<a name="line.4579"></a>
+<span class="sourceLineNo">4580</span>              + cell + " (too.new=" + timestampSlop + ")");<a name="line.4580"></a>
+<span class="sourceLineNo">4581</span>        }<a name="line.4581"></a>
+<span class="sourceLineNo">4582</span>      }<a name="line.4582"></a>
+<span class="sourceLineNo">4583</span>    }<a name="line.4583"></a>
+<span class="sourceLineNo">4584</span>  }<a name="line.4584"></a>
+<span class="sourceLineNo">4585</span><a name="line.4585"></a>
+<span class="sourceLineNo">4586</span>  /*<a name="line.4586"></a>
+<span class="sourceLineNo">4587</span>   * @param size<a name="line.4587"></a>
+<span class="sourceLineNo">4588</span>   * @return True if size is over the flush threshold<a name="line.4588"></a>
+<span class="sourceLineNo">4589</span>   */<a name="line.4589"></a>
+<span class="sourceLineNo">4590</span>  private boolean isFlushSize(MemStoreSize size) {<a name="line.4590"></a>
+<span class="sourceLineNo">4591</span>    return size.getHeapSize() + size.getOffHeapSize() &gt; getMemStoreFlushSize();<a name="line.4591"></a>
+<span class="sourceLineNo">4592</span>  }<a name="line.4592"></a>
+<span class="sourceLineNo">4593</span><a name="line.4593"></a>
+<span class="sourceLineNo">4594</span>  /**<a name="line.4594"></a>
+<span class="sourceLineNo">4595</span>   * Read the edits put under this region by wal splitting process.  Put<a name="line.4595"></a>
+<span class="sourceLineNo">4596</span>   * the recovered edits back up into this region.<a name="line.4596"></a>
 <span class="sourceLineNo">4597</span>   *<a name="line.4597"></a>
-<span class="sourceLineNo">4598</span>   * &lt;p&gt;While this is running we are putting pressure on memory yet we are<a name="line.4598"></a>
-<span class="sourceLineNo">4599</span>   * outside of our usual accounting because we are not yet an onlined region<a name="line.4599"></a>
-<span class="sourceLineNo">4600</span>   * (this stuff is being run as part of Region initialization).  This means<a name="line.4600"></a>
-<span class="sourceLineNo">4601</span>   * that if we're up against global memory limits, we'll not be flagged to flush<a name="line.4601"></a>
-<span class="sourceLineNo">4602</span>   * because we are not online. We can't be flushed by usual mechanisms anyways;<a name="line.4602"></a>
-<span class="sourceLineNo">4603</span>   * we're not yet online so our relative sequenceids are not yet aligned with<a name="line.4603"></a>
-<span class="sourceLineNo">4604</span>   * WAL sequenceids -- not till we come up online, post processing of split<a name="line.4604"></a>
-<span class="sourceLineNo">4605</span>   * edits.<a name="line.4605"></a>
-<span class="sourceLineNo">4606</span>   *<a name="line.4606"></a>
-<span class="sourceLineNo">4607</span>   * &lt;p&gt;But to help relieve memory pressure, at least manage our own heap size<a name="line.4607"></a>
-<span class="sourceLineNo">4608</span>   * flushing if are in excess of per-region limits.  Flushing, though, we have<a name="line.4608"></a>
-<span class="sourceLineNo">4609</span>   * to be careful and avoid using the regionserver/wal sequenceid.  Its running<a name="line.4609"></a>
-<span class="sourceLineNo">4610</span>   * on a different line to whats going on in here in this region context so if we<a name="line.4610"></a>
-<span class="sourceLineNo">4611</span>   * crashed replaying these edits, but in the midst had a flush that used the<a name="line.4611"></a>
-<span class="sourceLineNo">4612</span>   * regionserver wal with a sequenceid in excess of whats going on in here<a name="line.4612"></a>
-<span class="sourceLineNo">4613</span>   * in this region and with its split editlogs, then we could miss edits the<a name="line.4613"></a>
-<span class="sourceLineNo">4614</span>   * next time we go to recover. So, we have to flush inline, using seqids that<a name="line.4614"></a>
-<span class="sourceLineNo">4615</span>   * make sense in a this single region context only -- until we online.<a name="line.4615"></a>
-<span class="sourceLineNo">4616</span>   *<a name="line.4616"></a>
-<span class="sourceLineNo">4617</span>   * @param maxSeqIdInStores Any edit found in split editlogs needs to be in excess of<a name="line.4617"></a>
-<span class="sourceLineNo">4618</span>   * the maxSeqId for the store to be applied, else its skipped.<a name="line.4618"></a>
-<span class="sourceLineNo">4619</span>   * @return the sequence id of the last edit added to this region out of the<a name="line.4619"></a>
-<span class="sourceLineNo">4620</span>   * recovered edits log or &lt;code&gt;minSeqId&lt;/code&gt; if nothing added from editlogs.<a name="line.4620"></a>
-<span class="sourceLineNo">4621</span>   * @throws IOException<a name="line.4621"></a>
-<span class="sourceLineNo">4622</span>   */<a name="line.4622"></a>
-<span class="sourceLineNo">4623</span>  protected long replayRecoveredEditsIfAny(Map&lt;byte[], Long&gt; maxSeqIdInStores,<a name="line.4623"></a>
-<span class="sourceLineNo">4624</span>      final CancelableProgressable reporter, final MonitoredTask status)<a name="line.4624"></a>
-<span class="sourceLineNo">4625</span>      throws IOException {<a name="line.4625"></a>
-<span class="sourceLineNo">4626</span>    long minSeqIdForTheRegion = -1;<a name="line.4626"></a>
-<span class="sourceLineNo">4627</span>    for (Long maxSeqIdInStore : maxSeqIdInStores.values()) {<a name="line.4627"></a>
-<span class="sourceLineNo">4628</span>      if (maxSeqIdInStore &lt; minSeqIdForTheRegion || minSeqIdForTheRegion == -1) {<a name="line.4628"></a>
-<span class="sourceLineNo">4629</span>        minSeqIdForTheRegion = maxSeqIdInStore;<a name="line.4629"></a>
-<span class="sourceLineNo">4630</span>      }<a name="line.4630"></a>
-<span class="sourceLineNo">4631</span>    }<a name="line.4631"></a>
-<span class="sourceLineNo">4632</span>    long seqId = minSeqIdForTheRegion;<a name="line.4632"></a>
-<span class="sourceLineNo">4633</span><a name="line.4633"></a>
-<span class="sourceLineNo">4634</span>    FileSystem walFS = getWalFileSystem();<a name="line.4634"></a>
-<span class="sourceLineNo">4635</span>    FileSystem rootFS = getFilesystem();<a name="line.4635"></a>
-<span class="sourceLineNo">4636</span>    Path wrongRegionWALDir = FSUtils.getWrongWALRegionDir(conf, getRegionInfo().getTable(),<a name="line.4636"></a>
-<span class="sourceLineNo">4637</span>      getRegionInfo().getEncodedName());<a name="line.4637"></a>
-<span class="sourceLineNo">4638</span>    Path regionWALDir = getWALRegionDir();<a name="line.4638"></a>
-<span class="sourceLineNo">4639</span>    Path regionDir = FSUtils.getRegionDirFromRootDir(FSUtils.getRootDir(conf), getRegionInfo());<a name="line.4639"></a>
-<span class="sourceLineNo">4640</span><a name="line.4640"></a>
-<span class="sourceLineNo">4641</span>    // We made a mistake in HBASE-20734 so we need to do this dirty hack...<a name="line.4641"></a>
-<span class="sourceLineNo">4642</span>    NavigableSet&lt;Path&gt; filesUnderWrongRegionWALDir =<a name="line.4642"></a>
-<span class="sourceLineNo">4643</span>      WALSplitUtil.getSplitEditFilesSorted(walFS, wrongRegionWALDir);<a name="line.4643"></a>
-<span class="sourceLineNo">4644</span>    seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, walFS,<a name="line.4644"></a>
-<span class="sourceLineNo">4645</span>      filesUnderWrongRegionWALDir, reporter, regionDir));<a name="line.4645"></a>
-<span class="sourceLineNo">4646</span>    // This is to ensure backwards compatability with HBASE-20723 where recovered edits can appear<a name="line.4646"></a>
-<span class="sourceLineNo">4647</span>    // under the root dir even if walDir is set.<a name="line.4647"></a>
-<span class="sourceLineNo">4648</span>    NavigableSet&lt;Path&gt; filesUnderRootDir = Collections.emptyNavigableSet();<a name="line.4648"></a>
-<span class="sourceLineNo">4649</span>    if (!regionWALDir.equals(regionDir)) {<a name="line.4649"></a>
-<span class="sourceLineNo">4650</span>      filesUnderRootDir = WALSplitUtil.getSplitEditFilesSorted(rootFS, regionDir);<a name="line.4650"></a>
-<span class="sourceLineNo">4651</span>      seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, rootFS,<a name="line.4651"></a>
-<span class="sourceLineNo">4652</span>        filesUnderRootDir, reporter, regionDir));<a name="line.4652"></a>
-<span class="sourceLineNo">4653</span>    }<a name="line.4653"></a>
-<span class="sourceLineNo">4654</span><a name="line.4654"></a>
-<span class="sourceLineNo">4655</span>    NavigableSet&lt;Path&gt; files = WALSplitUtil.getSplitEditFilesSorted(walFS, regionWALDir);<a name="line.4655"></a>
-<span class="sourceLineNo">4656</span>    seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, walFS,<a name="line.4656"></a>
-<span class="sourceLineNo">4657</span>        files, reporter, regionWALDir));<a name="line.4657"></a>
+<span class="sourceLineNo">4598</span>   * &lt;p&gt;We can ignore any wal message that has a sequence ID that's equal to or<a name="line.4598"></a>
+<span class="sourceLineNo">4599</span>   * lower than minSeqId.  (Because we know such messages are already<a name="line.4599"></a>
+<span class="sourceLineNo">4600</span>   * reflected in the HFiles.)<a name="line.4600"></a>
+<span class="sourceLineNo">4601</span>   *<a name="line.4601"></a>
+<span class="sourceLineNo">4602</span>   * &lt;p&gt;While this is running we are putting pressure on memory yet we are<a name="line.4602"></a>
+<span class="sourceLineNo">4603</span>   * outside of our usual accounting because we are not yet an onlined region<a name="line.4603"></a>
+<span class="sourceLineNo">4604</span>   * (this stuff is being run as part of Region initialization).  This means<a name="line.4604"></a>
+<span class="sourceLineNo">4605</span>   * that if we're up against global memory limits, we'll not be flagged to flush<a name="line.4605"></a>
+<span class="sourceLineNo">4606</span>   * because we are not online. We can't be flushed by usual mechanisms anyways;<a name="line.4606"></a>
+<span class="sourceLineNo">4607</span>   * we're not yet online so our relative sequenceids are not yet aligned with<a name="line.4607"></a>
+<span class="sourceLineNo">4608</span>   * WAL sequenceids -- not till we come up online, post processing of split<a name="line.4608"></a>
+<span class="sourceLineNo">4609</span>   * edits.<a name="line.4609"></a>
+<span class="sourceLineNo">4610</span>   *<a name="line.4610"></a>
+<span class="sourceLineNo">4611</span>   * &lt;p&gt;But to help relieve memory pressure, at least manage our own heap size<a name="line.4611"></a>
+<span class="sourceLineNo">4612</span>   * flushing if are in excess of per-region limits.  Flushing, though, we have<a name="line.4612"></a>
+<span class="sourceLineNo">4613</span>   * to be careful and avoid using the regionserver/wal sequenceid.  Its running<a name="line.4613"></a>
+<span class="sourceLineNo">4614</span>   * on a different line to whats going on in here in this region context so if we<a name="line.4614"></a>
+<span class="sourceLineNo">4615</span>   * crashed replaying these edits, but in the midst had a flush that used the<a name="line.4615"></a>
+<span class="sourceLineNo">4616</span>   * regionserver wal with a sequenceid in excess of whats going on in here<a name="line.4616"></a>
+<span class="sourceLineNo">4617</span>   * in this region and with its split editlogs, then we could miss edits the<a name="line.4617"></a>
+<span class="sourceLineNo">4618</span>   * next time we go to recover. So, we have to flush inline, using seqids that<a name="line.4618"></a>
+<span class="sourceLineNo">4619</span>   * make sense in a this single region context only -- until we online.<a name="line.4619"></a>
+<span class="sourceLineNo">4620</span>   *<a name="line.4620"></a>
+<span class="sourceLineNo">4621</span>   * @param maxSeqIdInStores Any edit found in split editlogs needs to be in excess of<a name="line.4621"></a>
+<span class="sourceLineNo">4622</span>   * the maxSeqId for the store to be applied, else its skipped.<a name="line.4622"></a>
+<span class="sourceLineNo">4623</span>   * @return the sequence id of the last edit added to this region out of the<a name="line.4623"></a>
+<span class="sourceLineNo">4624</span>   * recovered edits log or &lt;code&gt;minSeqId&lt;/code&gt; if nothing added from editlogs.<a name="line.4624"></a>
+<span class="sourceLineNo">4625</span>   * @throws IOException<a name="line.4625"></a>
+<span class="sourceLineNo">4626</span>   */<a name="line.4626"></a>
+<span class="sourceLineNo">4627</span>  protected long replayRecoveredEditsIfAny(Map&lt;byte[], Long&gt; maxSeqIdInStores,<a name="line.4627"></a>
+<span class="sourceLineNo">4628</span>      final CancelableProgressable reporter, final MonitoredTask status)<a name="line.4628"></a>
+<span class="sourceLineNo">4629</span>      throws IOException {<a name="line.4629"></a>
+<span class="sourceLineNo">4630</span>    long minSeqIdForTheRegion = -1;<a name="line.4630"></a>
+<span class="sourceLineNo">4631</span>    for (Long maxSeqIdInStore : maxSeqIdInStores.values()) {<a name="line.4631"></a>
+<span class="sourceLineNo">4632</span>      if (maxSeqIdInStore &lt; minSeqIdForTheRegion || minSeqIdForTheRegion == -1) {<a name="line.4632"></a>
+<span class="sourceLineNo">4633</span>        minSeqIdForTheRegion = maxSeqIdInStore;<a name="line.4633"></a>
+<span class="sourceLineNo">4634</span>      }<a name="line.4634"></a>
+<span class="sourceLineNo">4635</span>    }<a name="line.4635"></a>
+<span class="sourceLineNo">4636</span>    long seqId = minSeqIdForTheRegion;<a name="line.4636"></a>
+<span class="sourceLineNo">4637</span><a name="line.4637"></a>
+<span class="sourceLineNo">4638</span>    FileSystem walFS = getWalFileSystem();<a name="line.4638"></a>
+<span class="sourceLineNo">4639</span>    FileSystem rootFS = getFilesystem();<a name="line.4639"></a>
+<span class="sourceLineNo">4640</span>    Path wrongRegionWALDir = FSUtils.getWrongWALRegionDir(conf, getRegionInfo().getTable(),<a name="line.4640"></a>
+<span class="sourceLineNo">4641</span>      getRegionInfo().getEncodedName());<a name="line.4641"></a>
+<span class="sourceLineNo">4642</span>    Path regionWALDir = getWALRegionDir();<a name="line.4642"></a>
+<span class="sourceLineNo">4643</span>    Path regionDir = FSUtils.getRegionDirFromRootDir(FSUtils.getRootDir(conf), getRegionInfo());<a name="line.4643"></a>
+<span class="sourceLineNo">4644</span><a name="line.4644"></a>
+<span class="sourceLineNo">4645</span>    // We made a mistake in HBASE-20734 so we need to do this dirty hack...<a name="line.4645"></a>
+<span class="sourceLineNo">4646</span>    NavigableSet&lt;Path&gt; filesUnderWrongRegionWALDir =<a name="line.4646"></a>
+<span class="sourceLineNo">4647</span>      WALSplitUtil.getSplitEditFilesSorted(walFS, wrongRegionWALDir);<a name="line.4647"></a>
+<span class="sourceLineNo">4648</span>    seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, walFS,<a name="line.4648"></a>
+<span class="sourceLineNo">4649</span>      filesUnderWrongRegionWALDir, reporter, regionDir));<a name="line.4649"></a>
+<span class="sourceLineNo">4650</span>    // This is to ensure backwards compatability with HBASE-20723 where recovered edits can appear<a name="line.4650"></a>
+<span class="sourceLineNo">4651</span>    // under the root dir even if walDir is set.<a name="line.4651"></a>
+<span class="sourceLineNo">4652</span>    NavigableSet&lt;Path&gt; filesUnderRootDir = Collections.emptyNavigableSet();<a name="line.4652"></a>
+<span class="sourceLineNo">4653</span>    if (!regionWALDir.equals(regionDir)) {<a name="line.4653"></a>
+<span class="sourceLineNo">4654</span>      filesUnderRootDir = WALSplitUtil.getSplitEditFilesSorted(rootFS, regionDir);<a name="line.4654"></a>
+<span class="sourceLineNo">4655</span>      seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, rootFS,<a name="line.4655"></a>
+<span class="sourceLineNo">4656</span>        filesUnderRootDir, reporter, regionDir));<a name="line.4656"></a>
+<span class="sourceLineNo">4657</span>    }<a name="line.4657"></a>
 <span class="sourceLineNo">4658</span><a name="line.4658"></a>
-<span class="sourceLineNo">4659</span>    if (seqId &gt; minSeqIdForTheRegion) {<a name="line.4659"></a>
-<span class="sourceLineNo">4660</span>      // Then we added some edits to memory. Flush and cleanup split edit files.<a name="line.4660"></a>
-<span class="sourceLineNo">4661</span>      internalFlushcache(null, seqId, stores.values(), status, false, FlushLifeCycleTracker.DUMMY);<a name="line.4661"></a>
-<span class="sourceLineNo">4662</span>    }<a name="line.4662"></a>
-<span class="sourceLineNo">4663</span>    // Now delete the content of recovered edits. We're done w/ them.<a name="line.4663"></a>
-<span class="sourceLineNo">4664</span>    if (files.size() &gt; 0 &amp;&amp; this.conf.getBoolean("hbase.region.archive.recovered.edits", false)) {<a name="line.4664"></a>
-<span class="sourceLineNo">4665</span>      // For debugging data loss issues!<a name="line.4665"></a>
-<span class="sourceLineNo">4666</span>      // If this flag is set, make use of the hfile archiving by making recovered.edits a fake<a name="line.4666"></a>
-<span class="sourceLineNo">4667</span>      // column family. Have to fake out file type too by casting our recovered.edits as storefiles<a name="line.4667"></a>
-<span class="sourceLineNo">4668</span>      String fakeFamilyName = WALSplitUtil.getRegionDirRecoveredEditsDir(regionWALDir).getName();<a name="line.4668"></a>
-<span class="sourceLineNo">4669</span>      Set&lt;HStoreFile&gt; fakeStoreFiles = new HashSet&lt;&gt;(files.size());<a name="line.4669"></a>
-<span class="sourceLineNo">4670</span>      for (Path file : files) {<a name="line.4670"></a>
-<span class="sourceLineNo">4671</span>        fakeStoreFiles.add(new HStoreFile(walFS, file, this.conf, null, null, true));<a name="line.4671"></a>
-<span class="sourceLineNo">4672</span>      }<a name="line.4672"></a>
-<span class="sourceLineNo">4673</span>      getRegionWALFileSystem().removeStoreFiles(fakeFamilyName, fakeStoreFiles);<a name="line.4673"></a>
-<span class="sourceLineNo">4674</span>    } else {<a name="line.4674"></a>
-<span class="sourceLineNo">4675</span>      for (Path file : Iterables.concat(files, filesUnderWrongRegionWALDir)) {<a name="line.4675"></a>
-<span class="sourceLineNo">4676</span>        if (!walFS.delete(file, false)) {<a name="line.4676"></a>
-<span class="sourceLineNo">4677</span>          LOG.error("Failed delete of {}", file);<a name="line.4677"></a>
-<span class="sourceLineNo">4678</span>        } else {<a name="line.4678"></a>
-<span class="sourceLineNo">4679</span>          LOG.debug("Deleted recovered.edits file={}", file);<a name="line.4679"></a>
-<span class="sourceLineNo">4680</span>        }<a name="line.4680"></a>
-<span class="sourceLineNo">4681</span>      }<a name="line.4681"></a>
-<span class="sourceLineNo">4682</span>      for (Path file : filesUnderRootDir) {<a name="line.4682"></a>
-<span class="sourceLineNo">4683</span>        if (!rootFS.delete(file, false)) {<a name="line.4683"></a>
-<span class="sourceLineNo">4684</span>          LOG.error("Failed delete of {}", file);<a name="line.4684"></a>
-<span class="sourceLineNo">4685</span>        } else {<a name="line.4685"></a>
-<span class="sourceLineNo">4686</span>          LOG.debug("Deleted recovered.edits file={}", file);<a name="line.4686"></a>
-<span class="sourceLineNo">4687</span>        }<a name="line.4687"></a>
-<span class="sourceLineNo">4688</span>      }<a name="line.4688"></a>
-<span class="sourceLineNo">4689</span>    }<a name="line.4689"></a>
-<span class="sourceLineNo">4690</span>    return seqId;<a name="line.4690"></a>
-<span class="sourceLineNo">4691</span>  }<a name="line.4691"></a>
-<span class="sourceLineNo">4692</span><a name="line.4692"></a>
-<span class="sourceLineNo">4693</span>  private long replayRecoveredEditsForPaths(long minSeqIdForTheRegion, FileSystem fs,<a name="line.4693"></a>
-<span class="sourceLineNo">4694</span>      final NavigableSet&lt;Path&gt; files, final CancelableProgressable reporter, final Path regionDir)<a name="line.4694"></a>
-<span class="sourceLineNo">4695</span>      throws IOException {<a name="line.4695"></a>
-<span class="sourceLineNo">4696</span>    long seqid = minSeqIdForTheRegion;<a name="line.4696"></a>
-<span class="sourceLineNo">4697</span>    if (LOG.isDebugEnabled()) {<a name="line.4697"></a>
-<span class="sourceLineNo">4698</span>      LOG.debug("Found " + (files == null ? 0 : files.size())<a name="line.4698"></a>
-<span class="sourceLineNo">4699</span>          + " recovered edits file(s) under " + regionDir);<a name="line.4699"></a>
-<span class="sourceLineNo">4700</span>    }<a name="line.4700"></a>
-<span class="sourceLineNo">4701</span><a name="line.4701"></a>
-<span class="sourceLineNo">4702</span>    if (files == null || files.isEmpty()) {<a name="line.4702"></a>
-<span class="sourceLineNo">4703</span>      return minSeqIdForTheRegion;<a name="line.4703"></a>
+<span class="sourceLineNo">4659</span>    NavigableSet&lt;Path&gt; files = WALSplitUtil.getSplitEditFilesSorted(walFS, regionWALDir);<a name="line.4659"></a>
+<span class="sourceLineNo">4660</span>    seqId = Math.max(seqId, replayRecoveredEditsForPaths(minSeqIdForTheRegion, walFS,<a name="line.4660"></a>
+<span class="sourceLineNo">4661</span>        files, reporter, regionWALDir));<a name="line.4661"></a>
+<span class="sourceLineNo">4662</span><a name="line.4662"></a>
+<span class="sourceLineNo">4663</span>    if (seqId &gt; minSeqIdForTheRegion) {<a name="line.4663"></a>
+<span class="sourceLineNo">4664</span>      // Then we added some edits to memory. Flush and cleanup split edit files.<a name="line.4664"></a>
+<span class="sourceLineNo">4665</span>      internalFlushcache(null, seqId, stores.values(), status, false, FlushLifeCycleTracker.DUMMY);<a name="line.4665"></a>
+<span class="sourceLineNo">4666</span>    }<a name="line.4666"></a>
+<span class="sourceLineNo">4667</span>    // Now delete the content of recovered edits. We're done w/ them.<a name="line.4667"></a>
+<span class="sourceLineNo">4668</span>    if (files.size() &gt; 0 &amp;&amp; this.conf.getBoolean("hbase.region.archive.recovered.edits", false)) {<a name="line.4668"></a>
+<span class="sourceLineNo">4669</span>      // For debugging data loss issues!<a name="line.4669"></a>
+<span class="sourceLineNo">4670</span>      // If this flag is set, make use of the hfile archiving by making recovered.edits a fake<a name="line.4670"></a>
+<span class="sourceLineNo">4671</span>      // column family. Have to fake out file type too by casting our recovered.edits as storefiles<a name="line.4671"></a>
+<span class="sourceLineNo">4672</span>      String fakeFamilyName = WALSplitUtil.getRegionDirRecoveredEditsDir(regionWALDir).getName();<a name="line.4672"></a>
+<span class="sourceLineNo">4673</span>      Set&lt;HStoreFile&gt; fakeStoreFiles = new HashSet&lt;&gt;(files.size());<a name="line.4673"></a>
+<span class="sourceLineNo">4674</span>      for (Path file : files) {<a name="line.4674"></a>
+<span class="sourceLineNo">4675</span>        fakeStoreFiles.add(new HStoreFile(walFS, file, this.conf, null, null, true));<a name="line.4675"></a>
+<span class="sourceLineNo">4676</span>      }<a name="line.4676"></a>
+<span class="sourceLineNo">4677</span>      getRegionWALFileSystem().removeStoreFiles(fakeFamilyName, fakeStoreFiles);<a name="line.4677"></a>
+<span class="sourceLineNo">4678</span>    } else {<a name="line.4678"></a>
+<span class="sourceLineNo">4679</span>      for (Path file : Iterables.concat(files, filesUnderWrongRegionWALDir)) {<a name="line.4679"></a>
+<span class="sourceLineNo">4680</span>        if (!walFS.delete(file, false)) {<a name="line.4680"></a>
+<span class="sourceLineNo">4681</span>          LOG.error("Failed delete of {}", file);<a name="line.4681"></a>
+<span class="sourceLineNo">4682</span>        } else {<a name="line.4682"></a>
+<span class="sourceLineNo">4683</span>          LOG.debug("Deleted recovered.edits file={}", file);<a name="line.4683"></a>
+<span class="sourceLineNo">4684</span>        }<a name="line.4684"></a>
+<span class="sourceLineNo">4685</span>      }<a name="line.4685"></a>
+<span class="sourceLineNo">4686</span>      for (Path file : filesUnderRootDir) {<a name="line.4686"></a>
+<span class="sourceLineNo">4687</span>        if (!rootFS.delete(file, false)) {<a name="line.4687"></a>
+<span class="sourceLineNo">4688</span>          LOG.error("Failed delete of {}", file);<a name="line.4688"></a>
+<span class="sourceLineNo">4689</span>        } else {<a name="line.4689"></a>
+<span class="sourceLineNo">4690</span>          LOG.debug("Deleted recovered.edits file={}", file);<a name="line.4690"></a>
+<span class="sourceLineNo">4691</span>        }<a name="line.4691"></a>
+<span class="sourceLineNo">4692</span>      }<a name="line.4692"></a>
+<span class="sourceLineNo">4693</span>    }<a name="line.4693"></a>
+<span class="sourceLineNo">4694</span>    return seqId;<a name="line.4694"></a>
+<span class="sourceLineNo">4695</span>  }<a name="line.4695"></a>
+<span class="sourceLineNo">4696</span><a name="line.4696"></a>
+<span class="sourceLineNo">4697</span>  private long replayRecoveredEditsForPaths(long minSeqIdForTheRegion, FileSystem fs,<a name="line.4697"></a>
+<span class="sourceLineNo">4698</span>      final NavigableSet&lt;Path&gt; files, final CancelableProgressable reporter, final Path regionDir)<a name="line.4698"></a>
+<span class="sourceLineNo">4699</span>      throws IOException {<a name="line.4699"></a>
+<span class="sourceLineNo">4700</span>    long seqid = minSeqIdForTheRegion;<a name="line.4700"></a>
+<span class="sourceLineNo">4701</span>    if (LOG.isDebugEnabled()) {<a name="line.4701"></a>
+<span class="sourceLineNo">4702</span>      LOG.debug("Found " + (files == null ? 0 : files.size())<a name="line.4702"></a>
+<span class="sourceLineNo">4703</span>          + " recovered edits file(s) under " + regionDir);<a name="line.4703"></a>
 <span class="sourceLineNo">4704</span>    }<a name="line.4704"></a>
 <span class="sourceLineNo">4705</span><a name="line.4705"></a>
-<span class="sourceLineNo">4706</span>    for (Path edits: files) {<a name="line.4706"></a>
-<span class="sourceLineNo">4707</span>      if (edits == null || !fs.exists(edits)) {<a name="line.4707"></a>
-<span class="sourceLineNo">4708</span>        LOG.warn("Null or non-existent edits file: " + edits);<a name="line.4708"></a>
-<span class="sourceLineNo">4709</span>        continue;<a name="line.4709"></a>
-<span class="sourceLineNo">4710</span>      }<a name="line.4710"></a>
-<span class="sourceLineNo">4711</span>      if (isZeroLengthThenDelete(fs, edits)) continue;<a name="line.4711"></a>
-<span class="sourceLineNo">4712</span><a name="line.4712"></a>
-<span class="sourceLineNo">4713</span>      long maxSeqId;<a name="line.4713"></a>
-<span class="sourceLineNo">4714</span>      String fileName = edits.getName();<a name="line.4714"></a>
-<span class="sourceLineNo">4715</span>      maxSeqId = Math.abs(Long.parseLong(fileName));<a name="line.4715"></a>
-<span class="sourceLineNo">4716</span>      if (maxSeqId &lt;= minSeqIdForTheRegion) {<a name="line.4716"></a>
-<span class="sourceLineNo">4717</span>        if (LOG.isDebugEnabled()) {<a name="line.4717"></a>
-<span class="sourceLineNo">4718</span>          String msg = "Maximum sequenceid for this wal is " + maxSeqId<a name="line.4718"></a>
-<span class="sourceLineNo">4719</span>              + " and minimum sequenceid for the region is " + minSeqIdForTheRegion<a name="line.4719"></a>
-<span class="sourceLineNo">4720</span>              + ", skipped the whole file, path=" + edits;<a name="line.4720"></a>
-<span class="sourceLineNo">4721</span>          LOG.debug(msg);<a name="line.4721"></a>
-<span class="sourceLineNo">4722</span>        }<a name="line.4722"></a>
-<span class="sourceLineNo">4723</span>        continue;<a name="line.4723"></a>
-<span class="sourceLineNo">4724</span>      }<a name="line.4724"></a>
-<span class="sourceLineNo">4725</span><a name="line.4725"></a>
-<span class="sourceLineNo">4726</span>      try {<a name="line.4726"></a>
-<span class="sourceLineNo">4727</span>        // replay the edits. Replay can return -1 if everything is skipped, only update<a name="line.4727"></a>
-<span class="sourceLineNo">4728</span>        // if seqId is greater<a name="line.4728"></a>
-<span class="sourceLineNo">4729</span>        seqid = Math.max(seqid, replayRecoveredEdits(edits, maxSeqIdInStores, reporter, fs));<a name="line.4729"></a>
-<span class="sourceLineNo">4730</span>      } catch (IOException e) {<a name="line.4730"></a>
-<span class="sourceLineNo">4731</span>        boolean skipErrors = conf.getBoolean(<a name="line.4731"></a>
-<span class="sourceLineNo">4732</span>            HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS,<a name="line.4732"></a>
-<span class="sourceLineNo">4733</span>            conf.getBoolean(<a name="line.4733"></a>
-<span class="sourceLineNo">4734</span>                "hbase.skip.errors",<a name="line.4734"></a>
-<span class="sourceLineNo">4735</span>                HConstants.DEFAULT_HREGION_EDITS_REPLAY_SKIP_ERRORS));<a name="line.4735"></a>
-<span class="sourceLineNo">4736</span>        if (conf.get("hbase.skip.errors") != null) {<a name="line.4736"></a>
-<span class="sourceLineNo">4737</span>          LOG.warn(<a name="line.4737"></a>
-<span class="sourceLineNo">4738</span>              "The property 'hbase.skip.errors' has been deprecated. Please use " +<a name="line.4738"></a>
-<span class="sourceLineNo">4739</span>                  HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS + " instead.");<a name="line.4739"></a>
-<span class="sourceLineNo">4740</span>        }<a name="line.4740"></a>
-<span class="sourceLineNo">4741</span>        if (skipErrors) {<a name="line.4741"></a>
-<span class="sourceLineNo">4742</span>          Path p = WALSplitUtil.moveAsideBadEditsFile(fs, edits);<a name="line.4742"></a>
-<span class="sourceLineNo">4743</span>          LOG.error(HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS<a name="line.4743"></a>
-<span class="sourceLineNo">4744</span>              + "=true so continuing. Renamed " + edits +<a name="line.4744"></a>
-<span class="sourceLineNo">4745</span>              " as " + p, e);<a name="line.4745"></a>
-<span class="sourceLineNo">4746</span>        } else {<a name="line.4746"></a>
-<span class="sourceLineNo">4747</span>          throw e;<a name="line.4747"></a>
-<span class="sourceLineNo">4748</span>        }<a name="line.4748"></a>
-<span class="sourceLineNo">4749</span>      }<a name="line.4749"></a>
-<span class="sourceLineNo">4750</span>    }<a name="line.4750"></a>
-<span class="sourceLineNo">4751</span>    return seqid;<a name="line.4751"></a>
-<span class="sourceLineNo">4752</span>  }<a name="line.4752"></a>
-<span class="sourceLineNo">4753</span><a name="line.4753"></a>
-<span class="sourceLineNo">4754</span>  /*<a name="line.4754"></a>
-<span class="sourceLineNo">4755</span>   * @param edits File of recovered edits.<a name="line.4755"></a>
-<span class="sourceLineNo">4756</span>   * @param maxSeqIdInStores Maximum sequenceid found in each store.  Edits in wal<a name="line.4756"></a>
-<span class="sourceLineNo">4757</span>   * must be larger than this to be replayed for each store.<a name="line.4757"></a>
-<span class="sourceLineNo">4758</span>   * @param reporter<a name="line.4758"></a>
-<span class="sourceLineNo">4759</span>   * @return the sequence id of the last edit added to this region out of the<a name="line.4759"></a>
-<span class="sourceLineNo">4760</span>   * recovered edits log or &lt;code&gt;minSeqId&lt;/code&gt; if nothing added from editlogs.<a name="line.4760"></a>
-<span class="sourceLineNo">4761</span>   * @throws IOException<a name="line.4761"></a>
-<span class="sourceLineNo">4762</span>   */<a name="line.4762"></a>
-<span class="sourceLineNo">4763</span>  private long replayRecoveredEdits(final Path edits,<a name="line.4763"></a>
-<span class="sourceLineNo">4764</span>      Map&lt;byte[], Long&gt; maxSeqIdInStores, final CancelableProgressable reporter, FileSystem fs)<a name="line.4764"></a>
-<span class="sourceLineNo">4765</span>    throws IOException {<a name="line.4765"></a>
-<span class="sourceLineNo">4766</span>    String msg = "Replaying edits from " + edits;<a name="line.4766"></a>
-<span class="sourceLineNo">4767</span>    LOG.info(msg);<a name="line.4767"></a>
-<span class="sourceLineNo">4768</span>    MonitoredTask status = TaskMonitor.get().createStatus(msg);<a name="line.4768"></a>
-<span class="sourceLineNo">4769</span><a name="line.4769"></a>
-<span class="sourceLineNo">4770</span>    status.setStatus("Opening recovered edits");<a name="line.4770"></a>
-<span class="sourceLineNo">4771</span>    WAL.Reader reader = null;<a name="line.4771"></a>
-<span class="sourceLineNo">4772</span>    try {<a name="line.4772"></a>
-<span class="sourceLineNo">4773</span>      reader = WALFactory.createReader(fs, edits, conf);<a name="line.4773"></a>
-<span class="sourceLineNo">4774</span>      long currentEditSeqId = -1;<a name="line.4774"></a>
-<span class="sourceLineNo">4775</span>      long currentReplaySeqId = -1;<a name="line.4775"></a>
-<span class="sourceLineNo">4776</span>      long firstSeqIdInLog = -1;<a name="line.4776"></a>
-<span class="sourceLineNo">4777</span>      long skippedEdits = 0;<a name="line.4777"></a>
-<span class="sourceLineNo">4778</span>      long editsCount = 0;<a name="line.4778"></a>
-<span class="sourceLineNo">4779</span>      long intervalEdits = 0;<a name="line.4779"></a>
-<span class="sourceLineNo">4780</span>      WAL.Entry entry;<a name="line.4780"></a>
-<span class="sourceLineNo">4781</span>      HStore store = null;<a name="line.4781"></a>
-<span class="sourceLineNo">4782</span>      boolean reported_once = false;<a name="line.4782"></a>
-<span class="sourceLineNo">4783</span>      ServerNonceManager ng = this.rsServices == null ? null : this.rsServices.getNonceManager();<a name="line.4783"></a>
-<span class="sourceLineNo">4784</span><a name="line.4784"></a>
-<span class="sourceLineNo">4785</span>      try {<a name="line.4785"></a>
-<span class="sourceLineNo">4786</span>        // How many edits seen before we check elapsed time<a name="line.4786"></a>
-<span class="sourceLineNo">4787</span>        int interval = this.conf.getInt("hbase.hstore.report.interval.edits", 2000);<a name="line.4787"></a>
-<span class="sourceLineNo">4788</span>        // How often to send a progress report (default 1/2 master timeout)<a name="line.4788"></a>
-<span class="sourceLineNo">4789</span>        int period = this.conf.getInt("hbase.hstore.report.period", 300000);<a name="line.4789"></a>
-<span class="sourceLineNo">4790</span>        long lastReport = EnvironmentEdgeManager.currentTime();<a name="line.4790"></a>
-<span class="sourceLineNo">4791</span><a name="line.4791"></a>
-<span class="sourceLineNo">4792</span>        if (coprocessorHost != null) {<a name="line.4792"></a>
-<span class="sourceLineNo">4793</span>          coprocessorHost.preReplayWALs(this.getRegionInfo(), edits);<a name="line.4793"></a>
-<span class="sourceLineNo">4794</span>        }<a name="line.4794"></a>
+<span class="sourceLineNo">4706</span>    if (files == null || files.isEmpty()) {<a name="line.4706"></a>
+<span class="sourceLineNo">4707</span>      return minSeqIdForTheRegion;<a name="line.4707"></a>
+<span class="sourceLineNo">4708</span>    }<a name="line.4708"></a>
+<span class="sourceLineNo">4709</span><a name="line.4709"></a>
+<span class="sourceLineNo">4710</span>    for (Path edits: files) {<a name="line.4710"></a>
+<span class="sourceLineNo">4711</span>      if (edits == null || !fs.exists(edits)) {<a name="line.4711"></a>
+<span class="sourceLineNo">4712</span>        LOG.warn("Null or non-existent edits file: " + edits);<a name="line.4712"></a>
+<span class="sourceLineNo">4713</span>        continue;<a name="line.4713"></a>
+<span class="sourceLineNo">4714</span>      }<a name="line.4714"></a>
+<span class="sourceLineNo">4715</span>      if (isZeroLengthThenDelete(fs, edits)) continue;<a name="line.4715"></a>
+<span class="sourceLineNo">4716</span><a name="line.4716"></a>
+<span class="sourceLineNo">4717</span>      long maxSeqId;<a name="line.4717"></a>
+<span class="sourceLineNo">4718</span>      String fileName = edits.getName();<a name="line.4718"></a>
+<span class="sourceLineNo">4719</span>      maxSeqId = Math.abs(Long.parseLong(fileName));<a name="line.4719"></a>
+<span class="sourceLineNo">4720</span>      if (maxSeqId &lt;= minSeqIdForTheRegion) {<a name="line.4720"></a>
+<span class="sourceLineNo">4721</span>        if (LOG.isDebugEnabled()) {<a name="line.4721"></a>
+<span class="sourceLineNo">4722</span>          String msg = "Maximum sequenceid for this wal is " + maxSeqId<a name="line.4722"></a>
+<span class="sourceLineNo">4723</span>              + " and minimum sequenceid for the region is " + minSeqIdForTheRegion<a name="line.4723"></a>
+<span class="sourceLineNo">4724</span>              + ", skipped the whole file, path=" + edits;<a name="line.4724"></a>
+<span class="sourceLineNo">4725</span>          LOG.debug(msg);<a name="line.4725"></a>
+<span class="sourceLineNo">4726</span>        }<a name="line.4726"></a>
+<span class="sourceLineNo">4727</span>        continue;<a name="line.4727"></a>
+<span class="sourceLineNo">4728</span>      }<a name="line.4728"></a>
+<span class="sourceLineNo">4729</span><a name="line.4729"></a>
+<span class="sourceLineNo">4730</span>      try {<a name="line.4730"></a>
+<span class="sourceLineNo">4731</span>        // replay the edits. Replay can return -1 if everything is skipped, only update<a name="line.4731"></a>
+<span class="sourceLineNo">4732</span>        // if seqId is greater<a name="line.4732"></a>
+<span class="sourceLineNo">4733</span>        seqid = Math.max(seqid, replayRecoveredEdits(edits, maxSeqIdInStores, reporter, fs));<a name="line.4733"></a>
+<span class="sourceLineNo">4734</span>      } catch (IOException e) {<a name="line.4734"></a>
+<span class="sourceLineNo">4735</span>        boolean skipErrors = conf.getBoolean(<a name="line.4735"></a>
+<span class="sourceLineNo">4736</span>            HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS,<a name="line.4736"></a>
+<span class="sourceLineNo">4737</span>            conf.getBoolean(<a name="line.4737"></a>
+<span class="sourceLineNo">4738</span>                "hbase.skip.errors",<a name="line.4738"></a>
+<span class="sourceLineNo">4739</span>                HConstants.DEFAULT_HREGION_EDITS_REPLAY_SKIP_ERRORS));<a name="line.4739"></a>
+<span class="sourceLineNo">4740</span>        if (conf.get("hbase.skip.errors") != null) {<a name="line.4740"></a>
+<span class="sourceLineNo">4741</span>          LOG.warn(<a name="line.4741"></a>
+<span class="sourceLineNo">4742</span>              "The property 'hbase.skip.errors' has been deprecated. Please use " +<a name="line.4742"></a>
+<span class="sourceLineNo">4743</span>                  HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS + " instead.");<a name="line.4743"></a>
+<span class="sourceLineNo">4744</span>        }<a name="line.4744"></a>
+<span class="sourceLineNo">4745</span>        if (skipErrors) {<a name="line.4745"></a>
+<span class="sourceLineNo">4746</span>          Path p = WALSplitUtil.moveAsideBadEditsFile(fs, edits);<a name="line.4746"></a>
+<span class="sourceLineNo">4747</span>          LOG.error(HConstants.HREGION_EDITS_REPLAY_SKIP_ERRORS<a name="line.4747"></a>
+<span class="sourceLineNo">4748</span>              + "=true so continuing. Renamed " + edits +<a name="line.4748"></a>
+<span class="sourceLineNo">4749</span>              " as " + p, e);<a name="line.4749"></a>
+<span class="sourceLineNo">4750</span>        } else {<a name="line.4750"></a>
+<span class="sourceLineNo">4751</span>          throw e;<a name="line.4751"></a>
+<span class="sourceLineNo">4752</span>        }<a name="line.4752"></a>
+<span class="sourceLineNo">4753</span>      }<a name="line.4753"></a>
+<span class="sourceLineNo">4754</span>    }<a name="line.4754"></a>
+<span class="sourceLineNo">4755</span>    return seqid;<a name="line.4755"></a>
+<span class="sourceLineNo">4756</span>  }<a name="line.4756"></a>
+<span class="sourceLineNo">4757</span><a name="line.4757"></a>
+<span class="sourceLineNo">4758</span>  /*<a name="line.4758"></a>
+<span class="sourceLineNo">4759</span>   * @param edits File of recovered edits.<a name="line.4759"></a>
+<span class="sourceLineNo">4760</span>   * @param maxSeqIdInStores Maximum sequenceid found in each store.  Edits in wal<a name="line.4760"></a>
+<span class="sourceLineNo">4761</span>   * must be larger than this to be replayed for each store.<a name="line.4761"></a>
+<span class="sourceLineNo">4762</span>   * @param reporter<a name="line.4762"></a>
+<span class="sourceLineNo">4763</span>   * @return the sequence id of the last edit added to this region out of the<a name="line.4763"></a>
+<span class="sourceLineNo">4764</span>   * recovered edits log or &lt;code&gt;minSeqId&lt;/code&gt; if nothing added from editlogs.<a name="line.4764"></a>
+<span class="sourceLineNo">4765</span>   * @throws IOException<a name="line.4765"></a>
+<span class="sourceLineNo">4766</span>   */<a name="line.4766"></a>
+<span class="sourceLineNo">4767</span>  private long replayRecoveredEdits(final Path edits,<a name="line.4767"></a>
+<span class="sourceLineNo">4768</span>      Map&lt;byte[], Long&gt; maxSeqIdInStores, final CancelableProgressable reporter, FileSystem fs)<a name="line.4768"></a>
+<span class="sourceLineNo">4769</span>    throws IOException {<a name="line.4769"></a>
+<span class="sourceLineNo">4770</span>    String msg = "Replaying edits from " + edits;<a name="line.4770"></a>
+<span class="sourceLineNo">4771</span>    LOG.info(msg);<a name="line.4771"></a>
+<span class="sourceLineNo">4772</span>    MonitoredTask status = TaskMonitor.get().createStatus(msg);<a name="line.4772"></a>
+<span class="sourceLineNo">4773</span><a name="line.4773"></a>
+<span class="sourceLineNo">4774</span>    status.setStatus("Opening recovered edits");<a name="line.4774"></a>
+<span class="sourceLineNo">4775</span>    WAL.Reader reader = null;<a name="line.4775"></a>
+<span class="sourceLineNo">4776</span>    try {<a name="line.4776"></a>
+<span class="sourceLineNo">4777</span>      reader = WALFactory.createReader(fs, edits, conf);<a name="line.4777"></a>
+<span class="sourceLineNo">4778</span>      long currentEditSeqId = -1;<a name="line.4778"></a>
+<span class="sourceLineNo">4779</span>      long currentReplaySeqId = -1;<a name="line.4779"></a>
+<span class="sourceLineNo">4780</span>      long firstSeqIdInLog = -1;<a name="line.4780"></a>
+<span class="sourceLineNo">4781</span>      long skippedEdits = 0;<a name="line.4781"></a>
+<span class="sourceLineNo">4782</span>      long editsCount = 0;<a name="line.4782"></a>
+<span class="sourceLineNo">4783</span>      long intervalEdits = 0;<a name="line.4783"></a>
+<span class="sourceLineNo">4784</span>      WAL.Entry entry;<a name="line.4784"></a>
+<span class="sourceLineNo">4785</span>      HStore store = null;<a name="line.4785"></a>
+<span class="sourceLineNo">4786</span>      boolean reported_once = false;<a name="line.4786"></a>
+<span class="sourceLineNo">4787</span>      ServerNonceManager ng = this.rsServices == null ? null : this.rsServices.getNonceManager();<a name="line.4787"></a>
+<span class="sourceLineNo">4788</span><a name="line.4788"></a>
+<span class="sourceLineNo">4789</span>      try {<a name="line.4789"></a>
+<span class="sourceLineNo">4790</span>        // How many edits seen before we check elapsed time<a name="line.4790"></a>
+<span class="sourceLineNo">4791</span>        int interval = this.conf.getInt("hbase.hstore.report.interval.edits", 2000);<a name="line.4791"></a>
+<span class="sourceLineNo">4792</span>        // How often to send a progress report (default 1/2 master timeout)<a name="line.4792"></a>
+<span class="sourceLineNo">4793</span>        int period = this.conf.getInt("hbase.hstore.report.period", 300000);<a name="line.4793"></a>
+<span class="sourceLineNo">4794</span>        long lastReport = EnvironmentEdgeManager.currentTime();<a name="line.4794"></a>
 <span class="sourceLineNo">4795</span><a name="line.4795"></a>
-<span class="sourceLineNo">4796</span>        while ((entry = reader.next()) != null) {<a name="line.4796"></a>
-<span class="sourceLineNo">4797</span>          WALKey key = entry.getKey();<a name="line.4797"></a>
-<span class="sourceLineNo">4798</span>          WALEdit val = entry.getEdit();<a name="line.4798"></a>
+<span class="sourceLineNo">4796</span>        if (coprocessorHost != null) {<a name="line.4796"></a>
+<span class="sourceLineNo">4797</span>          coprocessorHost.preReplayWALs(this.getRegionInfo(), edits);<a name="line.4797"></a>
+<span class="sourceLineNo">4798</span>        }<a name="line.4798"></a>
 <span class="sourceLineNo">4799</span><a name="line.4799"></a>
-<span class="sourceLineNo">4800</span>          if (ng != null) { // some test, or nonces disabled<a name="line.4800"></a>
-<span class="sourceLineNo">4801</span>            ng.reportOperationFromWal(key.getNonceGroup(), key.getNonce(), key.getWriteTime());<a name="line.4801"></a>
-<span class="sourceLineNo">4802</span>          }<a name="line.4802"></a>
+<span class="sourceLineNo">4800</span>        while ((entry = reader.next()) != null) {<a name="line.4800"></a>
+<span class="sourceLineNo">4801</span>          WALKey key = entry.getKey();<a name="line.4801"></a>
+<span class="sourceLineNo">4802</span>          WALEdit val = entry.getEdit();<a name="line.4802"></a>
 <span class="sourceLineNo">4803</span><a name="line.4803"></a>
-<span class="sourceLineNo">4804</span>          if (reporter != null) {<a name="line.4804"></a>
-<span class="sourceLineNo">4805</span>            intervalEdits += val.size();<a name="line.4805"></a>
-<span class="sourceLineNo">4806</span>            if (intervalEdits &gt;= interval) {<a name="line.4806"></a>
-<span class="sourceLineNo">4807</span>              // Number of edits interval reached<a name="line.4807"></a>
-<span class="sourceLineNo">4808</span>              intervalEdits = 0;<a name="line.4808"></a>
-<span class="sourceLineNo">4809</span>              long cur = EnvironmentEdgeManager.currentTime();<a name="line.4809"></a>
-<span class="sourceLineNo">4810</span>              if (lastReport + period &lt;= cur) {<a name="line.4810"></a>
-<span class="sourceLineNo">4811</span>                status.setStatus("Replaying edits..." +<a name="line.4811"></a>
-<span class="sourceLineNo">4812</span>                    " skipped=" + skippedEdits +<a name="line.4812"></a>
-<span class="sourceLineNo">4813</span>                    " edits=" + editsCount);<a name="line.4813"></a>
-<span class="sourceLineNo">4814</span>                // Timeout reached<a name="line.4814"></a>
-<span class="sourceLineNo">4815</span>                if(!reporter.progress()) {<a name="line.4815"></a>
-<span class="sourceLineNo">4816</span>                  msg = "Progressable reporter failed, stopping replay";<a name="line.4816"></a>
-<span class="sourceLineNo">4817</span>                  LOG.warn(msg);<a name="line.4817"></a>
-<span class="sourceLineNo">4818</span>                  status.abort(msg);<a name="line.4818"></a>
-<span class="sourceLineNo">4819</span>                  throw new IOException(msg);<a name="line.4819"></a>
-<span class="sourceLineNo">4820</span>                }<a name="line.4820"></a>
-<span class="sourceLineNo">4821</span>                reported_once = true;<a name="line.4821"></a>
-<span class="sourceLineNo">4822</span>                lastReport = cur;<a name="line.4822"></a>
-<span class="sourceLineNo">4823</span>              }<a name="line.4823"></a>
-<span class="sourceLineNo">4824</span>            }<a name="line.4824"></a>
-<span class="sourceLineNo">4825</span>          }<a name="line.4825"></a>
-<span class="sourceLineNo">4826</span><a name="line.4826"></a>
-<span class="sourceLineNo">4827</span>          if (firstSeqIdInLog == -1) {<a name="line.4827"></a>
-<span class="sourceLineNo">4828</span>            firstSeqIdInLog = key.getSequenceId();<a name="line.4828"></a>
+<span class="sourceLineNo">4804</span>          if (ng != null) { // some test, or nonces disabled<a name="line.4804"></a>
+<span class="sourceLineNo">4805</span>            ng.reportOperationFromWal(key.getNonceGroup(), key.getNonce(), key.getWriteTime());<a name="line.4805"></a>
+<span class="sourceLineNo">4806</span>          }<a name="line.4806"></a>
+<span class="sourceLineNo">4807</span><a name="line.4807"></a>
+<span class="sourceLineNo">4808</span>          if (reporter != null) {<a name="line.4808"></a>
+<span class="sourceLineNo">4809</span>            intervalEdits += val.size();<a name="line.4809"></a>
+<span class="sourceLineNo">4810</span>            if (intervalEdits &gt;= interval) {<a name="line.4810"></a>
+<span class="sourceLineNo">4811</span>              // Number of edits interval reached<a name="line.4811"></a>
+<span class="sourceLineNo">4812</span>              intervalEdits = 0;<a name="line.4812"></a>
+<span class="sourceLineNo">4813</span>              long cur = EnvironmentEdgeManager.currentTime();<a name="line.4813"></a>
+<span class="sourceLineNo">4814</span>              if (lastReport + period &lt;= cur) {<a name="line.4814"></a>
+<span class="sourceLineNo">4815</span>                status.setStatus("Replaying edits..." +<a name="line.4815"></a>
+<span class="sourceLineNo">4816</span>                    " skipped=" + skippedEdits +<a name="line.4816"></a>
+<span class="sourceLineNo">4817</span>                    " edits=" + editsCount);<a name="line.4817"></a>
+<span class="sourceLineNo">4818</span>                // Timeout reached<a name="line.4818"></a>
+<span class="sourceLineNo">4819</span>                if(!reporter.progress()) {<a name="line.4819"></a>
+<span class="sourceLineNo">4820</span>                  msg = "Progressable reporter failed, stopping replay";<a name="line.4820"></a>
+<span class="sourceLineNo">4821</span>                  LOG.warn(msg);<a name="line.4821"></a>
+<span class="sourceLineNo">4822</span>                  status.abort(msg);<a name="line.4822"></a>
+<span class="sourceLineNo">4823</span>                  throw new IOException(msg);<a name="line.4823"></a>
+<span class="sourceLineNo">4824</span>                }<a name="line.4824"></a>
+<span class="sourceLineNo">4825</span>                reported_once = true;<a name="line.4825"></a>
+<span class="sourceLineNo">4826</span>                lastReport = cur;<a name="line.4826"></a>
+<span class="sourceLineNo">4827</span>              }<a name="line.4827"></a>
+<span class="sourceLineNo">4828</span>            }<a name="line.4828"></a>
 <span class="sourceLineNo">4829</span>          }<a name="line.4829"></a>
-<span class="sourceLineNo">4830</span>          if (currentEditSeqId &gt; key.getSequenceId()) {<a name="line.4830"></a>
-<span class="sourceLineNo">4831</span>            // when this condition is true, it means we have a serious defect because we need to<a name="line.4831"></a>
-<span class="sourceLineNo">4832</span>            // maintain increasing SeqId for WAL edits per region<a name="line.4832"></a>
-<span class="sourceLineNo">4833</span>            LOG.error(getRegionInfo().getEncodedName() + " : "<a name="line.4833"></a>
-<span class="sourceLineNo">4834</span>                 + "Found decreasing SeqId. PreId=" + currentEditSeqId + " key=" + key<a name="line.4834"></a>
-<span class="sourceLineNo">4835</span>                + "; edit=" + val);<a name="line.4835"></a>
-<span class="sourceLineNo">4836</span>          } else {<a name="line.4836"></a>
-<span class="sourceLineNo">4837</span>            currentEditSeqId = key.getSequenceId();<a name="line.4837"></a>
-<span class="sourceLineNo">4838</span>          }<a name="line.4838"></a>
-<span class="sourceLineNo">4839</span>          currentReplaySeqId = (key.getOrigLogSeqNum() &gt; 0) ?<a name="line.4839"></a>
-<span class="sourceLineNo">4840</span>            key.getOrigLogSeqNum() : currentEditSeqId;<a name="line.4840"></a>
-<span class="sourceLineNo">4841</span><a name="line.4841"></a>
-<span class="sourceLineNo">4842</span>          // Start coprocessor replay here. The coprocessor is for each WALEdit<a name="line.4842"></a>
-<span class="sourceLineNo">4843</span>          // instead of a KeyValue.<a name="line.4843"></a>
-<span class="sourceLineNo">4844</span>          if (coprocessorHost != null) {<a name="line.4844"></a>
-<span class="sourceLineNo">4845</span>            status.setStatus("Running pre-WAL-restore hook in coprocessors");<a name="line.4845"></a>
-<span class="sourceLineNo">4846</span>            if (coprocessorHost.preWALRestore(this.getRegionInfo(), key, val)) {<a name="line.4846"></a>
-<span class="sourceLineNo">4847</span>              // if bypass this wal entry, ignore it ...<a name="line.4847"></a>
-<span class="sourceLineNo">4848</span>              continue;<a name="line.4848"></a>
-<span class="sourceLineNo">4849</span>            }<a name="line.4849"></a>
-<span class="sourceLineNo">4850</span>          }<a name="line.4850"></a>
-<span class="sourceLineNo">4851</span>          boolean checkRowWithinBoundary = false;<a name="line.4851"></a>
-<span class="sourceLineNo">4852</span>          // Check this edit is for this region.<a name="line.4852"></a>
-<span class="sourceLineNo">4853</span>          if (!Bytes.equals(key.getEncodedRegionName(),<a name="line.4853"></a>
-<span class="sourceLineNo">4854</span>              this.getRegionInfo().getEncodedNameAsBytes())) {<a name="line.4854"></a>
-<span class="sourceLineNo">4855</span>            checkRowWithinBoundary = true;<a name="line.4855"></a>
-<span class="sourceLineNo">4856</span>          }<a name="line.4856"></a>
-<span class="sourceLineNo">4857</span><a name="line.4857"></a>
-<span class="sourceLineNo">4858</span>          boolean flush = false;<a name="line.4858"></a>
-<span class="sourceLineNo">4859</span>          MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing();<a name="line.4859"></a>
-<span class="sourceLineNo">4860</span>          for (Cell cell: val.getCells()) {<a name="line.4860"></a>
-<span class="sourceLineNo">4861</span>            // Check this edit is for me. Also, guard against writing the special<a name="line.4861"></a>
-<span class="sourceLineNo">4862</span>            // METACOLUMN info such as HBASE::CACHEFLUSH entries<a name="line.4862"></a>
-<span class="sourceLineNo">4863</span>            if (CellUtil.matchingFamily(cell, WALEdit.METAFAMILY)) {<a name="line.4863"></a>
-<span class="sourceLineNo">4864</span>              // if region names don't match, skipp replaying compaction marker<a name="line.4864"></a>
-<span class="sourceLineNo">4865</span>              if (!checkRowWithinBoundary) {<a name="line.4865"></a>
-<span class="sourceLineNo">4866</span>                //this is a special edit, we should handle it<a name="line.4866"></a>
-<span class="sourceLineNo">4867</span>                CompactionDescriptor compaction = WALEdit.getCompaction(cell);<a name="line.4867"></a>
-<span class="sourceLineNo">4868</span>                if (compaction != null) {<a name="line.4868"></a>
-<span class="sourceLineNo">4869</span>                  //replay the compaction<a name="line.4869"></a>
-<span class="sourceLineNo">4870</span>                  replayWALCompactionMarker(compaction, false, true, Long.MAX_VALUE);<a name="line.4870"></a>
-<span class="sourceLineNo">4871</span>                }<a name="line.4871"></a>
-<span class="sourceLineNo">4872</span>              }<a name="line.4872"></a>
-<span class="sourceLineNo">4873</span>              skippedEdits++;<a name="line.4873"></a>
-<span class="sourceLineNo">4874</span>              continue;<a name="line.4874"></a>
-<span class="sourceLineNo">4875</span>            }<a name="line.4875"></a>
-<span class="sourceLineNo">4876</span>            // Figure which store the edit is meant for.<a name="line.4876"></a>
-<span class="sourceLineNo">4877</span>            if (store == null || !CellUtil.matchingFamily(cell,<a name="line.4877"></a>
-<span class="sourceLineNo">4878</span>                store.getColumnFamilyDescriptor().getName())) {<a name="line.4878"></a>
-<span class="sourceLineNo">4879</span>              store = getStore(cell);<a name="line.4879"></a>
-<span class="sourceLineNo">4880</span>            }<a name="line.4880"></a>
-<span class="sourceLineNo">4881</span>            if (store == null) {<a name="line.4881"></a>
-<span class="sourceLineNo">4882</span>              // This should never happen.  Perhaps schema was changed between<a name="line.4882"></a>
-<span class="sourceLineNo">4883</span>              // crash and redeploy?<a name="line.4883"></a>
-<span class="sourceLineNo">4884</span>              LOG.warn("No family for " + cell);<a name="line.4884"></a>
-<span class="sourceLineNo">4885</span>              skippedEdits++;<a name="line.4885"></a>
-<span class="sourceLineNo">4886</span>              continue;<a name="line.4886"></a>
-<span class="sourceLineNo">4887</span>            }<a name="line.4887"></a>
-<span class="sourceLineNo">4888</span>            if (checkRowWithinBoundary &amp;&amp; !rowIsInRange(this.getRegionInfo(),<a name="line.4888"></a>
-<span class="sourceLineNo">4889</span>              cell.getRowArray(), cell.getRowOffset(), cell.getRowLength())) {<a name="line.4889"></a>
-<span class="sourceLineNo">4890</span>              LOG.warn("Row of " + cell + " is not within region boundary");<a name="line.4890"></a>
-<span class="sourceLineNo">4891</span>              skippedEdits++;<a name="line.4891"></a>
-<span class="sourceLineNo">4892</span>              continue;<a name="line.4892"></a>
-<span class="sourceLineNo">4893</span>            }<a name="line.4893"></a>
-<span class="sourceLineNo">4894</span>            // Now, figure if we should skip this edit.<a name="line.4894"></a>
-<span class="sourceLineNo">4895</span>            if (key.getSequenceId() &lt;= maxSeqIdInStores.get(store.getColumnFamilyDescriptor()<a name="line.4895"></a>
-<span class="sourceLineNo">4896</span>                .getName())) {<a name="line.4896"></a>
-<span class="sourceLineNo">4897</span>              skippedEdits++;<a name="line.4897"></a>
-<span class="sourceLineNo">4898</span>              continue;<a name="line.4898"></a>
-<span class="sourceLineNo">4899</span>            }<a name="line.4899"></a>
-<span class="sourceLineNo">4900</span>            PrivateCellUtil.setSequenceId(cell, currentReplaySeqId);<a name="line.4900"></a>
-<span class="sourceLineNo">4901</span><a name="line.4901"></a>
-<span class="sourceLineNo">4902</span>            restoreEdit(store, cell, memStoreSizing);<a name="line.4902"></a>
-<span class="sourceLineNo">4903</span>            editsCount++;<a name="line.4903"></a>
-<span class="sourceLineNo">4904</span>          }<a name="line.4904"></a>
-<span class="sourceLineNo">4905</span>          MemStoreSize mss = memStoreSizing.getMemStoreSize();<a name="line.4905"></a>
-<span class="sourceLineNo">4906</span>          incMemStoreSize(mss);<a name="line.4906"></a>
-<span class="sourceLineNo">4907</span>          flush = isFlushSize(this.memStoreSizing.getMemStoreSize());<a name="line.4907"></a>
-<span class="sourceLineNo">4908</span>          if (flush) {<a name="line.4908"></a>
-<span class="sourceLineNo">4909</span>            internalFlushcache(null, currentEditSeqId, stores.values(), status, false,<a name="line.4909"></a>
-<span class="sourceLineNo">4910</span>              FlushLifeCycleTracker.DUMMY);<a name="line.4910"></a>
-<span class="sourceLineNo">4911</span>          }<a name="line.4911"></a>
-<span class="sourceLineNo">4912</span><a name="line.4912"></a>
-<span class="sourceLineNo">4913</span>          if (coprocessorHost != null) {<a name="line.4913"></a>
-<span class="sourceLineNo">4914</span>            coprocessorHost.postWALRestore(this.getRegionInfo(), key, val);<a name="line.4914"></a>
+<span class="sourceLineNo">4830</span><a name="line.4830"></a>
+<span class="sourceLineNo">4831</span>          if (firstSeqIdInLog == -1) {<a name="line.4831"></a>
+<span class="sourceLineNo">4832</span>            firstSeqIdInLog = key.getSequenceId();<a name="line.4832"></a>
+<span class="sourceLineNo">4833</span>          }<a name="line.4833"></a>
+<span class="sourceLineNo">4834</span>          if (currentEditSeqId &gt; key.getSequenceId()) {<a name="line.4834"></a>
+<span class="sourceLineNo">4835</span>            // when this condition is true, it means we have a serious defect because we need to<a name="line.4835"></a>
+<span class="sourceLineNo">4836</span>            // maintain increasing SeqId for WAL edits per region<a name="line.4836"></a>
+<span class="sourceLineNo">4837</span>            LOG.error(getRegionInfo().getEncodedName() + " : "<a name="line.4837"></a>
+<span class="sourceLineNo">4838</span>                 + "Found decreasing SeqId. PreId=" + currentEditSeqId + " key=" + key<a name="line.4838"></a>
+<span class="sourceLineNo">4839</span>                + "; edit=" + val);<a name="line.4839"></a>
+<span class="sourceLineNo">4840</span>          } else {<a name="line.4840"></a>
+<span class="sourceLineNo">4841</span>            currentEditSeqId = key.getSequenceId();<a name="line.4841"></a>
+<span class="sourceLineNo">4842</span>          }<a name="line.4842"></a>
+<span class="sourceLineNo">4843</span>          currentReplaySeqId = (key.getOrigLogSeqNum() &gt; 0) ?<a name="line.4843"></a>
+<span class="sourceLineNo">4844</span>            key.getOrigLogSeqNum() : currentEditSeqId;<a name="line.4844"></a>
+<span class="sourceLineNo">4845</span><a name="line.4845"></a>
+<span class="sourceLineNo">4846</span>          // Start coprocessor replay here. The coprocessor is for each WALEdit<a name="line.4846"></a>
+<span class="sourceLineNo">4847</span>          // instead of a KeyValue.<a name="line.4847"></a>
+<span class="sourceLineNo">4848</span>          if (coprocessorHost != null) {<a name="line.4848"></a>
+<span class="sourceLineNo">4849</span>            status.setStatus("Running pre-WAL-restore hook in coprocessors");<a name="line.4849"></a>
+<span class="sourceLineNo">4850</span>            if (coprocessorHost.preWALRestore(this.getRegionInfo(), key, val)) {<a name="line.4850"></a>
+<span class="sourceLineNo">4851</span>              // if bypass this wal entry, ignore it ...<a name="line.4851"></a>
+<span class="sourceLineNo">4852</span>              continue;<a name="line.4852"></a>
+<span class="sourceLineNo">4853</span>            }<a name="line.4853"></a>
+<span class="sourceLineNo">4854</span>          }<a name="line.4854"></a>
+<span class="sourceLineNo">4855</span>          boolean checkRowWithinBoundary = false;<a name="line.4855"></a>
+<span class="sourceLineNo">4856</span>          // Check this edit is for this region.<a name="line.4856"></a>
+<span class="sourceLineNo">4857</span>          if (!Bytes.equals(key.getEncodedRegionName(),<a name="line.4857"></a>
+<span class="sourceLineNo">4858</span>              this.getRegionInfo().getEncodedNameAsBytes())) {<a name="line.4858"></a>
+<span class="sourceLineNo">4859</span>            checkRowWithinBoundary = true;<a name="line.4859"></a>
+<span class="sourceLineNo">4860</span>          }<a name="line.4860"></a>
+<span class="sourceLineNo">4861</span><a name="line.4861"></a>
+<span class="sourceLineNo">4862</span>          boolean flush = false;<a name="line.4862"></a>
+<span class="sourceLineNo">4863</span>          MemStoreSizing memStoreSizing = new NonThreadSafeMemStoreSizing();<a name="line.4863"></a>
+<span class="sourceLineNo">4864</span>          for (Cell cell: val.getCells()) {<a name="line.4864"></a>
+<span class="sourceLineNo">4865</span>            // Check this edit is for me. Also, guard against writing the special<a name="line.4865"></a>
+<span class="sourceLineNo">4866</span>            // METACOLUMN info such as HBASE::CACHEFLUSH entries<a name="line.4866"></a>
+<span class="sourceLineNo">4867</span>            if (CellUtil.matchingFamily(cell, WALEdit.METAFAMILY)) {<a name="line.4867"></a>
+<span class="sourceLineNo">4868</span>              // if region names don't match, skipp replaying compaction marker<a name="line.4868"></a>
+<span class="sourceLineNo">4869</span>              if (!checkRowWithinBoundary) {<a name="line.4869"></a>
+<span class="sourceLineNo">4870</span>                //this is a special edit, we should handle it<a name="line.4870"></a>
+<span class="sourceLineNo">4871</span>                CompactionDescriptor compaction = WALEdit.getCompaction(cell);<a name="line.4871"></a>
+<span class="sourceLineNo">4872</span>                if (compaction != null) {<a name="line.4872"></a>
+<span class="sourceLineNo">4873</span>                  //replay the compaction<a name="line.4873"></a>
+<span class="sourceLineNo">4874</span>                  replayWALCompactionMarker(compaction, false, true, Long.MAX_VALUE);<a name="line.4874"></a>
+<span class="sourceLineNo">4875</span>                }<a name="line.4875"></a>
+<span class="sourceLineNo">4876</span>              }<a name="line.4876"></a>
+<span class="sourceLineNo">4877</span>              skippedEdits++;<a name="line.4877"></a>
+<span class="sourceLineNo">4878</span>              continue;<a name="line.4878"></a>
+<span class="sourceLineNo">4879</span>            }<a name="line.4879"></a>
+<span class="sourceLineNo">4880</span>            // Figure which store the edit is meant for.<a name="line.4880"></a>
+<span class="sourceLineNo">4881</span>            if (store == null || !CellUtil.matchingFamily(cell,<a name="line.4881"></a>
+<span class="sourceLineNo">4882</span>                store.getColumnFamilyDescriptor().getName())) {<a name="line.4882"></a>
+<span class="sourceLineNo">4883</span>              store = getStore(cell);<a name="line.4883"></a>
+<span class="sourceLineNo">4884</span>            }<a name="line.4884"></a>
+<span class="sourceLineNo">4885</span>            if (store == null) {<a name="line.4885"></a>
+<span class="sourceLineNo">4886</span>              // This should never happen.  Perhaps schema was changed between<a name="line.4886"></a>
+<span class="sourceLineNo">4887</span>              // crash and redeploy?<a name="line.4887"></a>
+<span class="sourceLineNo">4888</span>              LOG.warn("No family for " + cell);<a name="line.4888"></a>
+<span class="sourceLineNo">4889</span>              skippedEdits++;<a name="line.4889"></a>
+<span class="sourceLineNo">4890</span>              continue;<a name="line.4890"></a>
+<span class="sourceLineNo">4891</span>            }<a name="line.4891"></a>
+<span class="sourceLineNo">4892</span>            if (checkRowWithinBoundary &amp;&amp; !rowIsInRange(this.getRegionInfo(),<a name="line.4892"></a>
+<span class="sourceLineNo">4893</span>              cell.getRowArray(), cell.getRowOffset(), cell.getRowLength())) {<a name="line.4893"></a>
+<span class="sourceLineNo">4894</span>              LOG.warn("Row of " + cell + " is not within region boundary");<a name="line.4894"></a>
+<span class="sourceLineNo">4895</span>              skippedEdits++;<a name="line.4895"></a>
+<span class="sourceLineNo">4896</span>              continue;<a name="line.4896"></a>
+<span class="sourceLineNo">4897</span>            }<a name="line.4897"></a>
+<span class="sourceLineNo">4898</span>            // Now, figure if we should skip this edit.<a name="line.4898"></a>
+<span class="sourceLineNo">4899</span>            if (key.getSequenceId() &lt;= maxSeqIdInStores.get(store.getColumnFamilyDescriptor()<a name="line.4899"></a>
+<span class="sourceLineNo">4900</span>                .getName())) {<a name="line.4900"></a>
+<span class="sourceLineNo">4901</span>              skippedEdits++;<a name="line.4901"></a>
+<span class="sourceLineNo">4902</span>              continue;<a name="line.4902"></a>
+<span class="sourceLineNo">4903</span>            }<a name="line.4903"></a>
+<span class="sourceLineNo">4904</span>            PrivateCellUtil.setSequenceId(cell, currentReplaySeqId);<a name="line.4904"></a>
+<span class="sourceLineNo">4905</span><a name="line.4905"></a>
+<span class="sourceLineNo">4906</span>            restoreEdit(store, cell, memStoreSizing);<a name="line.4906"></a>
+<span class="sourceLineNo">4907</span>            editsCount++;<a name="line.4907"></a>
+<span class="sourceLineNo">4908</span>          }<a name="line.4908"></a>
+<span class="sourceLineNo">4909</span>          MemStoreSize mss = memStoreSizing.getMemStoreSize();<a name="line.4909"></a>
+<span class="sourceLineNo">4910</span>          incMemStoreSize(mss);<a name="line.4910"></a>
+<span class="sourceLineNo">4911</span>          flush = isFlushSize(this.memStoreSizing.getMemStoreSize());<a name="line.4911"></a>
+<span class="sourceLineNo">4912</span>          if (flush) {<a name="line.4912"></a>
+<span class="sourceLineNo">4913</span>            internalFlushcache(null, currentEditSeqId, stores.values(), status, false,<a name="line.4913"></a>
+<span class="sourceLineNo">4914</span>              FlushLifeCycleTracker.DUMMY);<a name="line.4914"></a>
 <span class="sourceLineNo">4915</span>          }<a name="line.4915"></a>
-<span class="sourceLineNo">4916</span>        }<a name="line.4916"></a>
-<span class="sourceLineNo">4917</span><a name="line.4917"></a>
-<span class="sourceLineNo">4918</span>        if (coprocessorHost != null) {<a name="line.4918"></a>
-<span class="sourceLineNo">4919</span>          coprocessorHost.postReplayWALs(this.getRegionInfo(), edits);<a name="line.4919"></a>
+<span class="sourceLineNo">4916</span><a name="line.4916"></a>
+<span class="sourceLineNo">4917</span>          if (coprocessorHost != null) {<a name="line.4917"></a>
+<span class="sourceLineNo">4918</span>            coprocessorHost.postWALRestore(this.getRegionInfo(), key, val);<a name="line.4918"></a>
+<span class="sourceLineNo">4919</span>          }<a name="line.4919"></a>
 <span class="sourceLineNo">4920</span>        }<a name="line.4920"></a>
-<span class="sourceLineNo">4921</span>      } catch (EOFException eof) {<a name="line.4921"></a>
-<span class="sourceLineNo">4922</span>        Path p = WALSplitUtil.moveAsideBadEditsFile(walFS, edits);<a name="line.4922"></a>
-<span class="sourceLineNo">4923</span>        msg = "EnLongAddered EOF. Most likely due to Master failure during " +<a name="line.4923"></a>
-<span class="sourceLineNo">4924</span>            "wal splitting, so we have this data in another edit.  " +<a name="line.4924"></a>
-<span class="sourceLineNo">4925</span>            "Continuing, but renaming " + edits + " as " + p;<a name="line.4925"></a>
-<span class="sourceLineNo">4926</span>        LOG.warn(msg, eof);<a name="line.4926"></a>
-<span class="sourceLineNo">4927</span>        status.abort(msg);<a name="line.4927"></a>
-<span class="sourceLineNo">4928</span>      } catch (IOException ioe) {<a name="line.4928"></a>
-<span class="sourceLineNo">4929</span>        // If the IOE resulted from bad file format,<a name="line.4929"></a>
-<span class="sourceLineNo">4930</span>        // then this problem is idempotent and retrying won't help<a name="line.4930"></a>
-<span class="sourceLineNo">4931</span>        if (ioe.getCause() instanceof ParseException) {<a name="line.4931"></a>
-<span class="sourceLineNo">4932</span>          Path p = WALSplitUtil.moveAsideBadEditsFile(walFS, edits);<a name="line.4932"></a>
-<span class="sourceLineNo">4933</span>          msg = "File corruption enLongAddered!  " +<a name="line.4933"></a>
-<span class="sourceLineNo">4934</span>              "Continuing, but renaming " + edits + " as " + p;<a name="line.4934"></a>
-<span class="sourceLineNo">4935</span>          LOG.warn(msg, ioe);<a name="line.4935"></a>
-<span class="sourceLineNo">4936</span>          status.setStatus(msg);<a name="line.4936"></a>
-<span class="sourceLineNo">4937</span>        } else {<a name="line.4937"></a>
-<span class="sourceLineNo">4938</span>          status.abort(StringUtils.stringifyException(ioe));<a name="line.4938"></a>
-<span class="sourceLineNo">4939</span>          // other IO errors may be transient (bad network connection,<a name="line.4939"></a>
-<span class="sourceLineNo">4940</span>          // checksum exception on one datanode, etc).  throw &amp; retry<a name="line.4940"></a>
-<span class="sourceLineNo">4941</span>          throw ioe;<a name="line.4941"></a>
-<span class="sourceLineNo">4942</span>        }<a name="line.4942"></a>
-<span class="sourceLineNo">4943</span>      }<a name="line.4943"></a>
-<span class="sourceLineNo">4944</span>      if (reporter != null &amp;&amp; !reported_once) {<a name="line.4944"></a>
-<span class="sourceLineNo">4945</span>        reporter.progress();<a name="line.4945"></a>
-<span class="sourceLineNo">4946</span>      }<a name="line.4946"></a>
-<span class="sourceLineNo">4947</span>      msg = "Applied " + editsCount + ", skipped " + skippedEdits +<a name="line.4947"></a>
-<span class="sourceLineNo">4948</span>        ", firstSequenceIdInLog=" + firstSeqIdInLog +<a name="line.4948"></a>
-<span class="sourceLineNo">4949</span>        ", maxSequenceIdInLog=" + currentEditSeqId + ", path=" + edits;<a name="line.4949"></a>
-<span class="sourceLineNo">4950</span>      status.markComplete(msg);<a name="line.4950"></a>
-<span class="sourceLineNo">4951</span>      LOG.debug(msg);<a name="line.4951"></a>
-<span class="sourceLineNo">4952</span>      return currentEditSeqId;<a name="line.4952"></a>
-<span class="sourceLineNo">4953</span>    } finally {<a name="line.4953"></a>
-<span class="sourceLineNo">4954</span>      status.cleanup();<a name="line.4954"></a>
-<span class="sourceLineNo">4955</span>      if (reader != null) {<a name="line.4955"></a>
-<span class="sourceLineNo">4956</span>         reader.close();<a name="line.4956"></a>
-<span class="sourceLineNo">4957</span>      }<a name="line.4957"></a>
-<span class="sourceLineNo">4958</span>    }<a name="line.4958"></a>
-<span class="sourceLineNo">4959</span>  }<a name="line.4959"></a>
-<span class="sourceLineNo">4960</span><a name="line.4960"></a>
-<span class="sourceLineNo">4961</span>  /**<a name="line.4961"></a>
-<span class="sourceLineNo">4962</span>   * Call to complete a compaction. Its for the case where we find in the WAL a compaction<a name="line.4962"></a>
-<span class="sourceLineNo">4963</span>   * that was not finished.  We could find one recovering a WAL after a regionserver crash.<a name="line.4963"></a>
-<span class="sourceLineNo">4964</span>   * See HBASE-2331.<a name="line.4964"></a>
-<span class="sourceLineNo">4965</span>   */<a name="line.4965"></a>
-<span class="sourceLineNo">4966</span>  void replayWALCompactionMarker(CompactionDescriptor compaction, boolean pickCompactionFiles,<a name="line.4966"></a>
-<span class="sourceLineNo">4967</span>      boolean removeFiles, long replaySeqId)<a name="line.4967"></a>
-<span class="sourceLineNo">4968</span>      throws IOException {<a name="line.4968"></a>
-<span class="sourceLineNo">4969</span>    try {<a name="line.4969"></a>
-<span class="sourceLineNo">4970</span>      checkTargetRegion(compaction.getEncodedRegionName().toByteArray(),<a name="line.4970"></a>
-<span class="sourceLineNo">4971</span>        "Compaction marker from WAL ", compaction);<a name="line.4971"></a>
-<span class="sourceLineNo">4972</span>    } catch (WrongRegionException wre) {<a name="line.4972"></a>
-<span class="sourceLineNo">4973</span>      if (RegionReplicaUtil.isDefaultReplica(this.getRegionInfo())) {<a name="line.4973"></a>
-<span class="sourceLineNo">4974</span>        // skip the compaction marker since it is not for this region<a name="line.4974"></a>
-<span class="sourceLineNo">4975</span>        return;<a name="line.4975"></a>
-<span class="sourceLineNo">4976</span>      }<a name="line.4976"></a>
-<span class="sourceLineNo">4977</span>      throw wre;<a name="line.4977"></a>
-<span class="sourceLineNo">4978</span>    }<a name="line.4978"></a>
-<span class="sourceLineNo">4979</span><a name="line.4979"></a>
-<span class="sourceLineNo">4980</span>    synchronized (writestate) {<a name="line.4980"></a>
-<span class="sourceLineNo">4981</span>      if (replaySeqId &lt; lastReplayedOpenRegionSeqId) {<a name="line.4981"></a>
-<span class="sourceLineNo">4982</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.4982"></a>
-<span class="sourceLineNo">4983</span>            + "Skipping replaying compaction event :" + TextFormat.shortDebugString(compaction)<a name="line.4983"></a>
-<span class="sourceLineNo">4984</span>            + " because its sequence id " + replaySeqId + " is smaller than this regions "<a name="line.4984"></a>
-<span class="sourceLineNo">4985</span>            + "lastReplayedOpenRegionSeqId of " + lastReplayedOpenRegionSeqId);<a name="line.4985"></a>
-<span class="sourceLineNo">4986</span>        return;<a name="line.4986"></a>
-<span class="sourceLineNo">4987</span>      }<a name="line.4987"></a>
-<span class="sourceLineNo">4988</span>      if (replaySeqId &lt; lastReplayedCompactionSeqId) {<a name="line.4988"></a>
-<span class="sourceLineNo">4989</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.4989"></a>
-<span class="sourceLineNo">4990</span>            + "Skipping replaying compaction event :" + TextFormat.shortDebugString(compaction)<a name="line.4990"></a>
-<span class="sourceLineNo">4991</span>            + " because its sequence id " + replaySeqId + " is smaller than this regions "<a name="line.4991"></a>
-<span class="sourceLineNo">4992</span>            + "lastReplayedCompactionSeqId of " + lastReplayedCompactionSeqId);<a name="line.4992"></a>
-<span class="sourceLineNo">4993</span>        return;<a name="line.4993"></a>
-<span class="sourceLineNo">4994</span>      } else {<a name="line.4994"></a>
-<span class="sourceLineNo">4995</span>        lastReplayedCompactionSeqId = replaySeqId;<a name="line.4995"></a>
-<span class="sourceLineNo">4996</span>      }<a name="line.4996"></a>
-<span class="sourceLineNo">4997</span><a name="line.4997"></a>
-<span class="sourceLineNo">4998</span>      if (LOG.isDebugEnabled()) {<a name="line.4998"></a>
-<span class="sourceLineNo">4999</span>        LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.4999"></a>
-<span class="sourceLineNo">5000</span>            + "Replaying compaction marker " + TextFormat.shortDebugString(compaction)<a name="line.5000"></a>
-<span class="sourceLineNo">5001</span>            + " with seqId=" + replaySeqId + " and lastReplayedOpenRegionSeqId="<a name="line.5001"></a>
-<span class="sourceLineNo">5002</span>            + lastReplayedOpenRegionSeqId);<a name="line.5002"></a>
-<span class="sourceLineNo">5003</span>      }<a name="line.5003"></a>
-<span class="sourceLineNo">5004</span><a name="line.5004"></a>
-<span class="sourceLineNo">5005</span>      startRegionOperation(Operation.REPLAY_EVENT);<a name="line.5005"></a>
-<span class="sourceLineNo">5006</span>      try {<a name="line.5006"></a>
-<span class="sourceLineNo">5007</span>        HStore store = this.getStore(compaction.getFamilyName().toByteArray());<a name="line.5007"></a>
-<span class="sourceLineNo">5008</span>        if (store == null) {<a name="line.5008"></a>
-<span class="sourceLineNo">5009</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5009"></a>
-<span class="sourceLineNo">5010</span>              + "Found Compaction WAL edit for deleted family:"<a name="line.5010"></a>
-<span class="sourceLineNo">5011</span>              + Bytes.toString(compaction.getFamilyName().toByteArray()));<a name="line.5011"></a>
-<span class="sourceLineNo">5012</span>          return;<a name="line.5012"></a>
-<span class="sourceLineNo">5013</span>        }<a name="line.5013"></a>
-<span class="sourceLineNo">5014</span>        store.replayCompactionMarker(compaction, pickCompactionFiles, removeFiles);<a name="line.5014"></a>
-<span class="sourceLineNo">5015</span>        logRegionFiles();<a name="line.5015"></a>
-<span class="sourceLineNo">5016</span>      } catch (FileNotFoundException ex) {<a name="line.5016"></a>
-<span class="sourceLineNo">5017</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5017"></a>
-<span class="sourceLineNo">5018</span>            + "At least one of the store files in compaction: "<a name="line.5018"></a>
-<span class="sourceLineNo">5019</span>            + TextFormat.shortDebugString(compaction)<a name="line.5019"></a>
-<span class="sourceLineNo">5020</span>            + " doesn't exist any more. Skip loading the file(s)", ex);<a name="line.5020"></a>
-<span class="sourceLineNo">5021</span>      } finally {<a name="line.5021"></a>
-<span class="sourceLineNo">5022</span>        closeRegionOperation(Operation.REPLAY_EVENT);<a name="line.5022"></a>
-<span class="sourceLineNo">5023</span>      }<a name="line.5023"></a>
-<span class="sourceLineNo">5024</span>    }<a name="line.5024"></a>
-<span class="sourceLineNo">5025</span>  }<a name="line.5025"></a>
-<span class="sourceLineNo">5026</span><a name="line.5026"></a>
-<span class="sourceLineNo">5027</span>  void replayWALFlushMarker(FlushDescriptor flush, long replaySeqId) throws IOException {<a name="line.5027"></a>
-<span class="sourceLineNo">5028</span>    checkTargetRegion(flush.getEncodedRegionName().toByteArray(),<a name="line.5028"></a>
-<span class="sourceLineNo">5029</span>      "Flush marker from WAL ", flush);<a name="line.5029"></a>
+<span class="sourceLineNo">4921</span><a name="line.4921"></a>
+<span class="sourceLineNo">4922</span>        if (coprocessorHost != null) {<a name="line.4922"></a>
+<span class="sourceLineNo">4923</span>          coprocessorHost.postReplayWALs(this.getRegionInfo(), edits);<a name="line.4923"></a>
+<span class="sourceLineNo">4924</span>        }<a name="line.4924"></a>
+<span class="sourceLineNo">4925</span>      } catch (EOFException eof) {<a name="line.4925"></a>
+<span class="sourceLineNo">4926</span>        Path p = WALSplitUtil.moveAsideBadEditsFile(walFS, edits);<a name="line.4926"></a>
+<span class="sourceLineNo">4927</span>        msg = "EnLongAddered EOF. Most likely due to Master failure during " +<a name="line.4927"></a>
+<span class="sourceLineNo">4928</span>            "wal splitting, so we have this data in another edit.  " +<a name="line.4928"></a>
+<span class="sourceLineNo">4929</span>            "Continuing, but renaming " + edits + " as " + p;<a name="line.4929"></a>
+<span class="sourceLineNo">4930</span>        LOG.warn(msg, eof);<a name="line.4930"></a>
+<span class="sourceLineNo">4931</span>        status.abort(msg);<a name="line.4931"></a>
+<span class="sourceLineNo">4932</span>      } catch (IOException ioe) {<a name="line.4932"></a>
+<span class="sourceLineNo">4933</span>        // If the IOE resulted from bad file format,<a name="line.4933"></a>
+<span class="sourceLineNo">4934</span>        // then this problem is idempotent and retrying won't help<a name="line.4934"></a>
+<span class="sourceLineNo">4935</span>        if (ioe.getCause() instanceof ParseException) {<a name="line.4935"></a>
+<span class="sourceLineNo">4936</span>          Path p = WALSplitUtil.moveAsideBadEditsFile(walFS, edits);<a name="line.4936"></a>
+<span class="sourceLineNo">4937</span>          msg = "File corruption enLongAddered!  " +<a name="line.4937"></a>
+<span class="sourceLineNo">4938</span>              "Continuing, but renaming " + edits + " as " + p;<a name="line.4938"></a>
+<span class="sourceLineNo">4939</span>          LOG.warn(msg, ioe);<a name="line.4939"></a>
+<span class="sourceLineNo">4940</span>          status.setStatus(msg);<a name="line.4940"></a>
+<span class="sourceLineNo">4941</span>        } else {<a name="line.4941"></a>
+<span class="sourceLineNo">4942</span>          status.abort(StringUtils.stringifyException(ioe));<a name="line.4942"></a>
+<span class="sourceLineNo">4943</span>          // other IO errors may be transient (bad network connection,<a name="line.4943"></a>
+<span class="sourceLineNo">4944</span>          // checksum exception on one datanode, etc).  throw &amp; retry<a name="line.4944"></a>
+<span class="sourceLineNo">4945</span>          throw ioe;<a name="line.4945"></a>
+<span class="sourceLineNo">4946</span>        }<a name="line.4946"></a>
+<span class="sourceLineNo">4947</span>      }<a name="line.4947"></a>
+<span class="sourceLineNo">4948</span>      if (reporter != null &amp;&amp; !reported_once) {<a name="line.4948"></a>
+<span class="sourceLineNo">4949</span>        reporter.progress();<a name="line.4949"></a>
+<span class="sourceLineNo">4950</span>      }<a name="line.4950"></a>
+<span class="sourceLineNo">4951</span>      msg = "Applied " + editsCount + ", skipped " + skippedEdits +<a name="line.4951"></a>
+<span class="sourceLineNo">4952</span>        ", firstSequenceIdInLog=" + firstSeqIdInLog +<a name="line.4952"></a>
+<span class="sourceLineNo">4953</span>        ", maxSequenceIdInLog=" + currentEditSeqId + ", path=" + edits;<a name="line.4953"></a>
+<span class="sourceLineNo">4954</span>      status.markComplete(msg);<a name="line.4954"></a>
+<span class="sourceLineNo">4955</span>      LOG.debug(msg);<a name="line.4955"></a>
+<span class="sourceLineNo">4956</span>      return currentEditSeqId;<a name="line.4956"></a>
+<span class="sourceLineNo">4957</span>    } finally {<a name="line.4957"></a>
+<span class="sourceLineNo">4958</span>      status.cleanup();<a name="line.4958"></a>
+<span class="sourceLineNo">4959</span>      if (reader != null) {<a name="line.4959"></a>
+<span class="sourceLineNo">4960</span>         reader.close();<a name="line.4960"></a>
+<span class="sourceLineNo">4961</span>      }<a name="line.4961"></a>
+<span class="sourceLineNo">4962</span>    }<a name="line.4962"></a>
+<span class="sourceLineNo">4963</span>  }<a name="line.4963"></a>
+<span class="sourceLineNo">4964</span><a name="line.4964"></a>
+<span class="sourceLineNo">4965</span>  /**<a name="line.4965"></a>
+<span class="sourceLineNo">4966</span>   * Call to complete a compaction. Its for the case where we find in the WAL a compaction<a name="line.4966"></a>
+<span class="sourceLineNo">4967</span>   * that was not finished.  We could find one recovering a WAL after a regionserver crash.<a name="line.4967"></a>
+<span class="sourceLineNo">4968</span>   * See HBASE-2331.<a name="line.4968"></a>
+<span class="sourceLineNo">4969</span>   */<a name="line.4969"></a>
+<span class="sourceLineNo">4970</span>  void replayWALCompactionMarker(CompactionDescriptor compaction, boolean pickCompactionFiles,<a name="line.4970"></a>
+<span class="sourceLineNo">4971</span>      boolean removeFiles, long replaySeqId)<a name="line.4971"></a>
+<span class="sourceLineNo">4972</span>      throws IOException {<a name="line.4972"></a>
+<span class="sourceLineNo">4973</span>    try {<a name="line.4973"></a>
+<span class="sourceLineNo">4974</span>      checkTargetRegion(compaction.getEncodedRegionName().toByteArray(),<a name="line.4974"></a>
+<span class="sourceLineNo">4975</span>        "Compaction marker from WAL ", compaction);<a name="line.4975"></a>
+<span class="sourceLineNo">4976</span>    } catch (WrongRegionException wre) {<a name="line.4976"></a>
+<span class="sourceLineNo">4977</span>      if (RegionReplicaUtil.isDefaultReplica(this.getRegionInfo())) {<a name="line.4977"></a>
+<span class="sourceLineNo">4978</span>        // skip the compaction marker since it is not for this region<a name="line.4978"></a>
+<span class="sourceLineNo">4979</span>        return;<a name="line.4979"></a>
+<span class="sourceLineNo">4980</span>      }<a name="line.4980"></a>
+<span class="sourceLineNo">4981</span>      throw wre;<a name="line.4981"></a>
+<span class="sourceLineNo">4982</span>    }<a name="line.4982"></a>
+<span class="sourceLineNo">4983</span><a name="line.4983"></a>
+<span class="sourceLineNo">4984</span>    synchronized (writestate) {<a name="line.4984"></a>
+<span class="sourceLineNo">4985</span>      if (replaySeqId &lt; lastReplayedOpenRegionSeqId) {<a name="line.4985"></a>
+<span class="sourceLineNo">4986</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.4986"></a>
+<span class="sourceLineNo">4987</span>            + "Skipping replaying compaction event :" + TextFormat.shortDebugString(compaction)<a name="line.4987"></a>
+<span class="sourceLineNo">4988</span>            + " because its sequence id " + replaySeqId + " is smaller than this regions "<a name="line.4988"></a>
+<span class="sourceLineNo">4989</span>            + "lastReplayedOpenRegionSeqId of " + lastReplayedOpenRegionSeqId);<a name="line.4989"></a>
+<span class="sourceLineNo">4990</span>        return;<a name="line.4990"></a>
+<span class="sourceLineNo">4991</span>      }<a name="line.4991"></a>
+<span class="sourceLineNo">4992</span>      if (replaySeqId &lt; lastReplayedCompactionSeqId) {<a name="line.4992"></a>
+<span class="sourceLineNo">4993</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.4993"></a>
+<span class="sourceLineNo">4994</span>            + "Skipping replaying compaction event :" + TextFormat.shortDebugString(compaction)<a name="line.4994"></a>
+<span class="sourceLineNo">4995</span>            + " because its sequence id " + replaySeqId + " is smaller than this regions "<a name="line.4995"></a>
+<span class="sourceLineNo">4996</span>            + "lastReplayedCompactionSeqId of " + lastReplayedCompactionSeqId);<a name="line.4996"></a>
+<span class="sourceLineNo">4997</span>        return;<a name="line.4997"></a>
+<span class="sourceLineNo">4998</span>      } else {<a name="line.4998"></a>
+<span class="sourceLineNo">4999</span>        lastReplayedCompactionSeqId = replaySeqId;<a name="line.4999"></a>
+<span class="sourceLineNo">5000</span>      }<a name="line.5000"></a>
+<span class="sourceLineNo">5001</span><a name="line.5001"></a>
+<span class="sourceLineNo">5002</span>      if (LOG.isDebugEnabled()) {<a name="line.5002"></a>
+<span class="sourceLineNo">5003</span>        LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5003"></a>
+<span class="sourceLineNo">5004</span>            + "Replaying compaction marker " + TextFormat.shortDebugString(compaction)<a name="line.5004"></a>
+<span class="sourceLineNo">5005</span>            + " with seqId=" + replaySeqId + " and lastReplayedOpenRegionSeqId="<a name="line.5005"></a>
+<span class="sourceLineNo">5006</span>            + lastReplayedOpenRegionSeqId);<a name="line.5006"></a>
+<span class="sourceLineNo">5007</span>      }<a name="line.5007"></a>
+<span class="sourceLineNo">5008</span><a name="line.5008"></a>
+<span class="sourceLineNo">5009</span>      startRegionOperation(Operation.REPLAY_EVENT);<a name="line.5009"></a>
+<span class="sourceLineNo">5010</span>      try {<a name="line.5010"></a>
+<span class="sourceLineNo">5011</span>        HStore store = this.getStore(compaction.getFamilyName().toByteArray());<a name="line.5011"></a>
+<span class="sourceLineNo">5012</span>        if (store == null) {<a name="line.5012"></a>
+<span class="sourceLineNo">5013</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5013"></a>
+<span class="sourceLineNo">5014</span>              + "Found Compaction WAL edit for deleted family:"<a name="line.5014"></a>
+<span class="sourceLineNo">5015</span>              + Bytes.toString(compaction.getFamilyName().toByteArray()));<a name="line.5015"></a>
+<span class="sourceLineNo">5016</span>          return;<a name="line.5016"></a>
+<span class="sourceLineNo">5017</span>        }<a name="line.5017"></a>
+<span class="sourceLineNo">5018</span>        store.replayCompactionMarker(compaction, pickCompactionFiles, removeFiles);<a name="line.5018"></a>
+<span class="sourceLineNo">5019</span>        logRegionFiles();<a name="line.5019"></a>
+<span class="sourceLineNo">5020</span>      } catch (FileNotFoundException ex) {<a name="line.5020"></a>
+<span class="sourceLineNo">5021</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5021"></a>
+<span class="sourceLineNo">5022</span>            + "At least one of the store files in compaction: "<a name="line.5022"></a>
+<span class="sourceLineNo">5023</span>            + TextFormat.shortDebugString(compaction)<a name="line.5023"></a>
+<span class="sourceLineNo">5024</span>            + " doesn't exist any more. Skip loading the file(s)", ex);<a name="line.5024"></a>
+<span class="sourceLineNo">5025</span>      } finally {<a name="line.5025"></a>
+<span class="sourceLineNo">5026</span>        closeRegionOperation(Operation.REPLAY_EVENT);<a name="line.5026"></a>
+<span class="sourceLineNo">5027</span>      }<a name="line.5027"></a>
+<span class="sourceLineNo">5028</span>    }<a name="line.5028"></a>
+<span class="sourceLineNo">5029</span>  }<a name="line.5029"></a>
 <span class="sourceLineNo">5030</span><a name="line.5030"></a>
-<span class="sourceLineNo">5031</span>    if (ServerRegionReplicaUtil.isDefaultReplica(this.getRegionInfo())) {<a name="line.5031"></a>
-<span class="sourceLineNo">5032</span>      return; // if primary nothing to do<a name="line.5032"></a>
-<span class="sourceLineNo">5033</span>    }<a name="line.5033"></a>
+<span class="sourceLineNo">5031</span>  void replayWALFlushMarker(FlushDescriptor flush, long replaySeqId) throws IOException {<a name="line.5031"></a>
+<span class="sourceLineNo">5032</span>    checkTargetRegion(flush.getEncodedRegionName().toByteArray(),<a name="line.5032"></a>
+<span class="sourceLineNo">5033</span>      "Flush marker from WAL ", flush);<a name="line.5033"></a>
 <span class="sourceLineNo">5034</span><a name="line.5034"></a>
-<span class="sourceLineNo">5035</span>    if (LOG.isDebugEnabled()) {<a name="line.5035"></a>
-<span class="sourceLineNo">5036</span>      LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5036"></a>
-<span class="sourceLineNo">5037</span>          + "Replaying flush marker " + TextFormat.shortDebugString(flush));<a name="line.5037"></a>
-<span class="sourceLineNo">5038</span>    }<a name="line.5038"></a>
-<span class="sourceLineNo">5039</span><a name="line.5039"></a>
-<span class="sourceLineNo">5040</span>    startRegionOperation(Operation.REPLAY_EVENT); // use region close lock to guard against close<a name="line.5040"></a>
-<span class="sourceLineNo">5041</span>    try {<a name="line.5041"></a>
-<span class="sourceLineNo">5042</span>      FlushAction action = flush.getAction();<a name="line.5042"></a>
-<span class="sourceLineNo">5043</span>      switch (action) {<a name="line.5043"></a>
-<span class="sourceLineNo">5044</span>      case START_FLUSH:<a name="line.5044"></a>
-<span class="sourceLineNo">5045</span>        replayWALFlushStartMarker(flush);<a name="line.5045"></a>
-<span class="sourceLineNo">5046</span>        break;<a name="line.5046"></a>
-<span class="sourceLineNo">5047</span>      case COMMIT_FLUSH:<a name="line.5047"></a>
-<span class="sourceLineNo">5048</span>        replayWALFlushCommitMarker(flush);<a name="line.5048"></a>
-<span class="sourceLineNo">5049</span>        break;<a name="line.5049"></a>
-<span class="sourceLineNo">5050</span>      case ABORT_FLUSH:<a name="line.5050"></a>
-<span class="sourceLineNo">5051</span>        replayWALFlushAbortMarker(flush);<a name="line.5051"></a>
-<span class="sourceLineNo">5052</span>        break;<a name="line.5052"></a>
-<span class="sourceLineNo">5053</span>      case CANNOT_FLUSH:<a name="line.5053"></a>
-<span class="sourceLineNo">5054</span>        replayWALFlushCannotFlushMarker(flush, replaySeqId);<a name="line.5054"></a>
-<span class="sourceLineNo">5055</span>        break;<a name="line.5055"></a>
-<span class="sourceLineNo">5056</span>      default:<a name="line.5056"></a>
-<span class="sourceLineNo">5057</span>        LOG.warn(getRegionInfo().getEncodedName() + " : " +<a name="line.5057"></a>
-<span class="sourceLineNo">5058</span>          "Received a flush event with unknown action, ignoring. " +<a name="line.5058"></a>
-<span class="sourceLineNo">5059</span>          TextFormat.shortDebugString(flush));<a name="line.5059"></a>
-<span class="sourceLineNo">5060</span>        break;<a name="line.5060"></a>
-<span class="sourceLineNo">5061</span>      }<a name="line.5061"></a>
-<span class="sourceLineNo">5062</span><a name="line.5062"></a>
-<span class="sourceLineNo">5063</span>      logRegionFiles();<a name="line.5063"></a>
-<span class="sourceLineNo">5064</span>    } finally {<a name="line.5064"></a>
-<span class="sourceLineNo">5065</span>      closeRegionOperation(Operation.REPLAY_EVENT);<a name="line.5065"></a>
-<span class="sourceLineNo">5066</span>    }<a name="line.5066"></a>
-<span class="sourceLineNo">5067</span>  }<a name="line.5067"></a>
-<span class="sourceLineNo">5068</span><a name="line.5068"></a>
-<span class="sourceLineNo">5069</span>  /** Replay the flush marker from primary region by creating a corresponding snapshot of<a name="line.5069"></a>
-<span class="sourceLineNo">5070</span>   * the store memstores, only if the memstores do not have a higher seqId from an earlier wal<a name="line.5070"></a>
-<span class="sourceLineNo">5071</span>   * edit (because the events may be coming out of order).<a name="line.5071"></a>
-<span class="sourceLineNo">5072</span>   */<a name="line.5072"></a>
-<span class="sourceLineNo">5073</span>  @VisibleForTesting<a name="line.5073"></a>
-<span class="sourceLineNo">5074</span>  PrepareFlushResult replayWALFlushStartMarker(FlushDescriptor flush) throws IOException {<a name="line.5074"></a>
-<span class="sourceLineNo">5075</span>    long flushSeqId = flush.getFlushSequenceNumber();<a name="line.5075"></a>
-<span class="sourceLineNo">5076</span><a name="line.5076"></a>
-<span class="sourceLineNo">5077</span>    HashSet&lt;HStore&gt; storesToFlush = new HashSet&lt;&gt;();<a name="line.5077"></a>
-<span class="sourceLineNo">5078</span>    for (StoreFlushDescriptor storeFlush : flush.getStoreFlushesList()) {<a name="line.5078"></a>
-<span class="sourceLineNo">5079</span>      byte[] family = storeFlush.getFamilyName().toByteArray();<a name="line.5079"></a>
-<span class="sourceLineNo">5080</span>      HStore store = getStore(family);<a name="line.5080"></a>
-<span class="sourceLineNo">5081</span>      if (store == null) {<a name="line.5081"></a>
-<span class="sourceLineNo">5082</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5082"></a>
-<span class="sourceLineNo">5083</span>          + "Received a flush start marker from primary, but the family is not found. Ignoring"<a name="line.5083"></a>
-<span class="sourceLineNo">5084</span>          + " StoreFlushDescriptor:" + TextFormat.shortDebugString(storeFlush));<a name="line.5084"></a>
-<span class="sourceLineNo">5085</span>        continue;<a name="line.5085"></a>
-<span class="sourceLineNo">5086</span>      }<a name="line.5086"></a>
-<span class="sourceLineNo">5087</span>      storesToFlush.add(store);<a name="line.5087"></a>
-<span class="sourceLineNo">5088</span>    }<a name="line.5088"></a>
-<span class="sourceLineNo">5089</span><a name="line.5089"></a>
-<span class="sourceLineNo">5090</span>    MonitoredTask status = TaskMonitor.get().createStatus("Preparing flush " + this);<a name="line.5090"></a>
-<span class="sourceLineNo">5091</span><a name="line.5091"></a>
-<span class="sourceLineNo">5092</span>    // we will use writestate as a coarse-grain lock for all the replay events<a name="line.5092"></a>
-<span class="sourceLineNo">5093</span>    // (flush, compaction, region open etc)<a name="line.5093"></a>
-<span class="sourceLineNo">5094</span>    synchronized (writestate) {<a name="line.5094"></a>
-<span class="sourceLineNo">5095</span>      try {<a name="line.5095"></a>
-<span class="sourceLineNo">5096</span>        if (flush.getFlushSequenceNumber() &lt; lastReplayedOpenRegionSeqId) {<a name="line.5096"></a>
-<span class="sourceLineNo">5097</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5097"></a>
-<span class="sourceLineNo">5098</span>              + "Skipping replaying flush event :" + TextFormat.shortDebugString(flush)<a name="line.5098"></a>
-<span class="sourceLineNo">5099</span>              + " because its sequence id is smaller than this regions lastReplayedOpenRegionSeqId "<a name="line.5099"></a>
-<span class="sourceLineNo">5100</span>              + " of " + lastReplayedOpenRegionSeqId);<a name="line.5100"></a>
-<span class="sourceLineNo">5101</span>          return null;<a name="line.5101"></a>
-<span class="sourceLineNo">5102</span>        }<a name="line.5102"></a>
-<span class="sourceLineNo">5103</span>        if (numMutationsWithoutWAL.sum() &gt; 0) {<a name="line.5103"></a>
-<span class="sourceLineNo">5104</span>          numMutationsWithoutWAL.reset();<a name="line.5104"></a>
-<span class="sourceLineNo">5105</span>          dataInMemoryWithoutWAL.reset();<a name="line.5105"></a>
+<span class="sourceLineNo">5035</span>    if (ServerRegionReplicaUtil.isDefaultReplica(this.getRegionInfo())) {<a name="line.5035"></a>
+<span class="sourceLineNo">5036</span>      return; // if primary nothing to do<a name="line.5036"></a>
+<span class="sourceLineNo">5037</span>    }<a name="line.5037"></a>
+<span class="sourceLineNo">5038</span><a name="line.5038"></a>
+<span class="sourceLineNo">5039</span>    if (LOG.isDebugEnabled()) {<a name="line.5039"></a>
+<span class="sourceLineNo">5040</span>      LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5040"></a>
+<span class="sourceLineNo">5041</span>          + "Replaying flush marker " + TextFormat.shortDebugString(flush));<a name="line.5041"></a>
+<span class="sourceLineNo">5042</span>    }<a name="line.5042"></a>
+<span class="sourceLineNo">5043</span><a name="line.5043"></a>
+<span class="sourceLineNo">5044</span>    startRegionOperation(Operation.REPLAY_EVENT); // use region close lock to guard against close<a name="line.5044"></a>
+<span class="sourceLineNo">5045</span>    try {<a name="line.5045"></a>
+<span class="sourceLineNo">5046</span>      FlushAction action = flush.getAction();<a name="line.5046"></a>
+<span class="sourceLineNo">5047</span>      switch (action) {<a name="line.5047"></a>
+<span class="sourceLineNo">5048</span>      case START_FLUSH:<a name="line.5048"></a>
+<span class="sourceLineNo">5049</span>        replayWALFlushStartMarker(flush);<a name="line.5049"></a>
+<span class="sourceLineNo">5050</span>        break;<a name="line.5050"></a>
+<span class="sourceLineNo">5051</span>      case COMMIT_FLUSH:<a name="line.5051"></a>
+<span class="sourceLineNo">5052</span>        replayWALFlushCommitMarker(flush);<a name="line.5052"></a>
+<span class="sourceLineNo">5053</span>        break;<a name="line.5053"></a>
+<span class="sourceLineNo">5054</span>      case ABORT_FLUSH:<a name="line.5054"></a>
+<span class="sourceLineNo">5055</span>        replayWALFlushAbortMarker(flush);<a name="line.5055"></a>
+<span class="sourceLineNo">5056</span>        break;<a name="line.5056"></a>
+<span class="sourceLineNo">5057</span>      case CANNOT_FLUSH:<a name="line.5057"></a>
+<span class="sourceLineNo">5058</span>        replayWALFlushCannotFlushMarker(flush, replaySeqId);<a name="line.5058"></a>
+<span class="sourceLineNo">5059</span>        break;<a name="line.5059"></a>
+<span class="sourceLineNo">5060</span>      default:<a name="line.5060"></a>
+<span class="sourceLineNo">5061</span>        LOG.warn(getRegionInfo().getEncodedName() + " : " +<a name="line.5061"></a>
+<span class="sourceLineNo">5062</span>          "Received a flush event with unknown action, ignoring. " +<a name="line.5062"></a>
+<span class="sourceLineNo">5063</span>          TextFormat.shortDebugString(flush));<a name="line.5063"></a>
+<span class="sourceLineNo">5064</span>        break;<a name="line.5064"></a>
+<span class="sourceLineNo">5065</span>      }<a name="line.5065"></a>
+<span class="sourceLineNo">5066</span><a name="line.5066"></a>
+<span class="sourceLineNo">5067</span>      logRegionFiles();<a name="line.5067"></a>
+<span class="sourceLineNo">5068</span>    } finally {<a name="line.5068"></a>
+<span class="sourceLineNo">5069</span>      closeRegionOperation(Operation.REPLAY_EVENT);<a name="line.5069"></a>
+<span class="sourceLineNo">5070</span>    }<a name="line.5070"></a>
+<span class="sourceLineNo">5071</span>  }<a name="line.5071"></a>
+<span class="sourceLineNo">5072</span><a name="line.5072"></a>
+<span class="sourceLineNo">5073</span>  /** Replay the flush marker from primary region by creating a corresponding snapshot of<a name="line.5073"></a>
+<span class="sourceLineNo">5074</span>   * the store memstores, only if the memstores do not have a higher seqId from an earlier wal<a name="line.5074"></a>
+<span class="sourceLineNo">5075</span>   * edit (because the events may be coming out of order).<a name="line.5075"></a>
+<span class="sourceLineNo">5076</span>   */<a name="line.5076"></a>
+<span class="sourceLineNo">5077</span>  @VisibleForTesting<a name="line.5077"></a>
+<span class="sourceLineNo">5078</span>  PrepareFlushResult replayWALFlushStartMarker(FlushDescriptor flush) throws IOException {<a name="line.5078"></a>
+<span class="sourceLineNo">5079</span>    long flushSeqId = flush.getFlushSequenceNumber();<a name="line.5079"></a>
+<span class="sourceLineNo">5080</span><a name="line.5080"></a>
+<span class="sourceLineNo">5081</span>    HashSet&lt;HStore&gt; storesToFlush = new HashSet&lt;&gt;();<a name="line.5081"></a>
+<span class="sourceLineNo">5082</span>    for (StoreFlushDescriptor storeFlush : flush.getStoreFlushesList()) {<a name="line.5082"></a>
+<span class="sourceLineNo">5083</span>      byte[] family = storeFlush.getFamilyName().toByteArray();<a name="line.5083"></a>
+<span class="sourceLineNo">5084</span>      HStore store = getStore(family);<a name="line.5084"></a>
+<span class="sourceLineNo">5085</span>      if (store == null) {<a name="line.5085"></a>
+<span class="sourceLineNo">5086</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5086"></a>
+<span class="sourceLineNo">5087</span>          + "Received a flush start marker from primary, but the family is not found. Ignoring"<a name="line.5087"></a>
+<span class="sourceLineNo">5088</span>          + " StoreFlushDescriptor:" + TextFormat.shortDebugString(storeFlush));<a name="line.5088"></a>
+<span class="sourceLineNo">5089</span>        continue;<a name="line.5089"></a>
+<span class="sourceLineNo">5090</span>      }<a name="line.5090"></a>
+<span class="sourceLineNo">5091</span>      storesToFlush.add(store);<a name="line.5091"></a>
+<span class="sourceLineNo">5092</span>    }<a name="line.5092"></a>
+<span class="sourceLineNo">5093</span><a name="line.5093"></a>
+<span class="sourceLineNo">5094</span>    MonitoredTask status = TaskMonitor.get().createStatus("Preparing flush " + this);<a name="line.5094"></a>
+<span class="sourceLineNo">5095</span><a name="line.5095"></a>
+<span class="sourceLineNo">5096</span>    // we will use writestate as a coarse-grain lock for all the replay events<a name="line.5096"></a>
+<span class="sourceLineNo">5097</span>    // (flush, compaction, region open etc)<a name="line.5097"></a>
+<span class="sourceLineNo">5098</span>    synchronized (writestate) {<a name="line.5098"></a>
+<span class="sourceLineNo">5099</span>      try {<a name="line.5099"></a>
+<span class="sourceLineNo">5100</span>        if (flush.getFlushSequenceNumber() &lt; lastReplayedOpenRegionSeqId) {<a name="line.5100"></a>
+<span class="sourceLineNo">5101</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5101"></a>
+<span class="sourceLineNo">5102</span>              + "Skipping replaying flush event :" + TextFormat.shortDebugString(flush)<a name="line.5102"></a>
+<span class="sourceLineNo">5103</span>              + " because its sequence id is smaller than this regions lastReplayedOpenRegionSeqId "<a name="line.5103"></a>
+<span class="sourceLineNo">5104</span>              + " of " + lastReplayedOpenRegionSeqId);<a name="line.5104"></a>
+<span class="sourceLineNo">5105</span>          return null;<a name="line.5105"></a>
 <span class="sourceLineNo">5106</span>        }<a name="line.5106"></a>
-<span class="sourceLineNo">5107</span><a name="line.5107"></a>
-<span class="sourceLineNo">5108</span>        if (!writestate.flushing) {<a name="line.5108"></a>
-<span class="sourceLineNo">5109</span>          // we do not have an active snapshot and corresponding this.prepareResult. This means<a name="line.5109"></a>
-<span class="sourceLineNo">5110</span>          // we can just snapshot our memstores and continue as normal.<a name="line.5110"></a>
+<span class="sourceLineNo">5107</span>        if (numMutationsWithoutWAL.sum() &gt; 0) {<a name="line.5107"></a>
+<span class="sourceLineNo">5108</span>          numMutationsWithoutWAL.reset();<a name="line.5108"></a>
+<span class="sourceLineNo">5109</span>          dataInMemoryWithoutWAL.reset();<a name="line.5109"></a>
+<span class="sourceLineNo">5110</span>        }<a name="line.5110"></a>
 <span class="sourceLineNo">5111</span><a name="line.5111"></a>
-<span class="sourceLineNo">5112</span>          // invoke prepareFlushCache. Send null as wal since we do not want the flush events in wal<a name="line.5112"></a>
-<span class="sourceLineNo">5113</span>          PrepareFlushResult prepareResult = internalPrepareFlushCache(null, flushSeqId,<a name="line.5113"></a>
-<span class="sourceLineNo">5114</span>            storesToFlush, status, false, FlushLifeCycleTracker.DUMMY);<a name="line.5114"></a>
-<span class="sourceLineNo">5115</span>          if (prepareResult.result == null) {<a name="line.5115"></a>
-<span class="sourceLineNo">5116</span>            // save the PrepareFlushResult so that we can use it later from commit flush<a name="line.5116"></a>
-<span class="sourceLineNo">5117</span>            this.writestate.flushing = true;<a name="line.5117"></a>
-<span class="sourceLineNo">5118</span>            this.prepareFlushResult = prepareResult;<a name="line.5118"></a>
-<span class="sourceLineNo">5119</span>            status.markComplete("Flush prepare successful");<a name="line.5119"></a>
-<span class="sourceLineNo">5120</span>            if (LOG.isDebugEnabled()) {<a name="line.5120"></a>
-<span class="sourceLineNo">5121</span>              LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5121"></a>
-<span class="sourceLineNo">5122</span>                  + " Prepared flush with seqId:" + flush.getFlushSequenceNumber());<a name="line.5122"></a>
-<span class="sourceLineNo">5123</span>            }<a name="line.5123"></a>
-<span class="sourceLineNo">5124</span>          } else {<a name="line.5124"></a>
-<span class="sourceLineNo">5125</span>            // special case empty memstore. We will still save the flush result in this case, since<a name="line.5125"></a>
-<span class="sourceLineNo">5126</span>            // our memstore ie empty, but the primary is still flushing<a name="line.5126"></a>
-<span class="sourceLineNo">5127</span>            if (prepareResult.getResult().getResult() ==<a name="line.5127"></a>
-<span class="sourceLineNo">5128</span>                  FlushResult.Result.CANNOT_FLUSH_MEMSTORE_EMPTY) {<a name="line.5128"></a>
-<span class="sourceLineNo">5129</span>              this.writestate.flushing = true;<a name="line.5129"></a>
-<span class="sourceLineNo">5130</span>              this.prepareFlushResult = prepareResult;<a name="line.5130"></a>
-<span class="sourceLineNo">5131</span>              if (LOG.isDebugEnabled()) {<a name="line.5131"></a>
-<span class="sourceLineNo">5132</span>                LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5132"></a>
-<span class="sourceLineNo">5133</span>                  + " Prepared empty flush with seqId:" + flush.getFlushSequenceNumber());<a name="line.5133"></a>
-<span class="sourceLineNo">5134</span>              }<a name="line.5134"></a>
-<span class="sourceLineNo">5135</span>            }<a name="line.5135"></a>
-<span class="sourceLineNo">5136</span>            status.abort("Flush prepare failed with " + prepareResult.result);<a name="line.5136"></a>
-<span class="sourceLineNo">5137</span>            // nothing much to do. prepare flush failed because of some reason.<a name="line.5137"></a>
-<span class="sourceLineNo">5138</span>          }<a name="line.5138"></a>
-<span class="sourceLineNo">5139</span>          return prepareResult;<a name="line.5139"></a>
-<span class="sourceLineNo">5140</span>        } else {<a name="line.5140"></a>
-<span class="sourceLineNo">5141</span>          // we already have an active snapshot.<a name="line.5141"></a>
-<span class="sourceLineNo">5142</span>          if (flush.getFlushSequenceNumber() == this.prepareFlushResult.flushOpSeqId) {<a name="line.5142"></a>
-<span class="sourceLineNo">5143</span>            // They define the same flush. Log and continue.<a name="line.5143"></a>
-<span class="sourceLineNo">5144</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5144"></a>
-<span class="sourceLineNo">5145</span>                + "Received a flush prepare marker with the same seqId: " +<a name="line.5145"></a>
-<span class="sourceLineNo">5146</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5146"></a>
-<span class="sourceLineNo">5147</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5147"></a>
-<span class="sourceLineNo">5148</span>            // ignore<a name="line.5148"></a>
-<span class="sourceLineNo">5149</span>          } else if (flush.getFlushSequenceNumber() &lt; this.prepareFlushResult.flushOpSeqId) {<a name="line.5149"></a>
-<span class="sourceLineNo">5150</span>            // We received a flush with a smaller seqNum than what we have prepared. We can only<a name="line.5150"></a>
-<span class="sourceLineNo">5151</span>            // ignore this prepare flush request.<a name="line.5151"></a>
-<span class="sourceLineNo">5152</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5152"></a>
-<span class="sourceLineNo">5153</span>                + "Received a flush prepare marker with a smaller seqId: " +<a name="line.5153"></a>
-<span class="sourceLineNo">5154</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5154"></a>
-<span class="sourceLineNo">5155</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5155"></a>
-<span class="sourceLineNo">5156</span>            // ignore<a name="line.5156"></a>
-<span class="sourceLineNo">5157</span>          } else {<a name="line.5157"></a>
-<span class="sourceLineNo">5158</span>            // We received a flush with a larger seqNum than what we have prepared<a name="line.5158"></a>
-<span class="sourceLineNo">5159</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5159"></a>
-<span class="sourceLineNo">5160</span>                + "Received a flush prepare marker with a larger seqId: " +<a name="line.5160"></a>
-<span class="sourceLineNo">5161</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5161"></a>
-<span class="sourceLineNo">5162</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5162"></a>
-<span class="sourceLineNo">5163</span>            // We do not have multiple active snapshots in the memstore or a way to merge current<a name="line.5163"></a>
-<span class="sourceLineNo">5164</span>            // memstore snapshot with the contents and resnapshot for now. We cannot take<a name="line.5164"></a>
-<span class="sourceLineNo">5165</span>            // another snapshot and drop the previous one because that will cause temporary<a name="line.5165"></a>
-<span class="sourceLineNo">5166</span>            // data loss in the secondary. So we ignore this for now, deferring the resolution<a name="line.5166"></a>
-<span class="sourceLineNo">5167</span>            // to happen when we see the corresponding flush commit marker. If we have a memstore<a name="line.5167"></a>
-<span class="sourceLineNo">5168</span>            // snapshot with x, and later received another prepare snapshot with y (where x &lt; y),<a name="line.5168"></a>
-<span class="sourceLineNo">5169</span>            // when we see flush commit for y, we will drop snapshot for x, and can also drop all<a name="line.5169"></a>
-<span class="sourceLineNo">5170</span>            // the memstore edits if everything in memstore is &lt; y. This is the usual case for<a name="line.5170"></a>
-<span class="sourceLineNo">5171</span>            // RS crash + recovery where we might see consequtive prepare flush wal markers.<a name="line.5171"></a>
-<span class="sourceLineNo">5172</span>            // Otherwise, this will cause more memory to be used in secondary replica until a<a name="line.5172"></a>
-<span class="sourceLineNo">5173</span>            // further prapare + commit flush is seen and replayed.<a name="line.5173"></a>
-<span class="sourceLineNo">5174</span>          }<a name="line.5174"></a>
-<span class="sourceLineNo">5175</span>        }<a name="line.5175"></a>
-<span class="sourceLineNo">5176</span>      } finally {<a name="line.5176"></a>
-<span class="sourceLineNo">5177</span>        status.cleanup();<a name="line.5177"></a>
-<span class="sourceLineNo">5178</span>        writestate.notifyAll();<a name="line.5178"></a>
-<span class="sourceLineNo">5179</span>      }<a name="line.5179"></a>
-<span class="sourceLineNo">5180</span>    }<a name="line.5180"></a>
-<span class="sourceLineNo">5181</span>    return null;<a name="line.5181"></a>
-<span class="sourceLineNo">5182</span>  }<a name="line.5182"></a>
-<span class="sourceLineNo">5183</span><a name="line.5183"></a>
-<span class="sourceLineNo">5184</span>  @VisibleForTesting<a name="line.5184"></a>
-<span class="sourceLineNo">5185</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NN_NAKED_NOTIFY",<a name="line.5185"></a>
-<span class="sourceLineNo">5186</span>    justification="Intentional; post memstore flush")<a name="line.5186"></a>
-<span class="sourceLineNo">5187</span>  void replayWALFlushCommitMarker(FlushDescriptor flush) throws IOException {<a name="line.5187"></a>
-<span class="sourceLineNo">5188</span>    MonitoredTask status = TaskMonitor.get().createStatus("Committing flush " + this);<a name="line.5188"></a>
-<span class="sourceLineNo">5189</span><a name="line.5189"></a>
-<span class="sourceLineNo">5190</span>    // check whether we have the memstore snapshot with the corresponding seqId. Replay to<a name="line.5190"></a>
-<span class="sourceLineNo">5191</span>    // secondary region replicas are in order, except for when the region moves or then the<a name="line.5191"></a>
-<span class="sourceLineNo">5192</span>    // region server crashes. In those cases, we may receive replay requests out of order from<a name="line.5192"></a>
-<span class="sourceLineNo">5193</span>    // the original seqIds.<a name="line.5193"></a>
-<span class="sourceLineNo">5194</span>    synchronized (writestate) {<a name="line.5194"></a>
-<span class="sourceLineNo">5195</span>      try {<a name="line.5195"></a>
-<span class="sourceLineNo">5196</span>        if (flush.getFlushSequenceNumber() &lt; lastReplayedOpenRegionSeqId) {<a name="line.5196"></a>
-<span class="sourceLineNo">5197</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5197"></a>
-<span class="sourceLineNo">5198</span>            + "Skipping replaying flush event :" + TextFormat.shortDebugString(flush)<a name="line.5198"></a>
-<span class="sourceLineNo">5199</span>            + " because its sequence id is smaller than this regions lastReplayedOpenRegionSeqId "<a name="line.5199"></a>
-<span class="sourceLineNo">5200</span>            + " of " + lastReplayedOpenRegionSeqId);<a name="line.5200"></a>
-<span class="sourceLineNo">5201</span>          return;<a name="line.5201"></a>
-<span class="sourceLineNo">5202</span>        }<a name="line.5202"></a>
-<span class="sourceLineNo">5203</span><a name="line.5203"></a>
-<span class="sourceLineNo">5204</span>        if (writestate.flushing) {<a name="line.5204"></a>
-<span class="sourceLineNo">5205</span>          PrepareFlushResult prepareFlushResult = this.prepareFlushResult;<a name="line.5205"></a>
-<span class="sourceLineNo">5206</span>          if (flush.getFlushSequenceNumber() == prepareFlushResult.flushOpSeqId) {<a name="line.5206"></a>
-<span class="sourceLineNo">5207</span>            if (LOG.isDebugEnabled()) {<a name="line.5207"></a>
-<span class="sourceLineNo">5208</span>              LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5208"></a>
-<span class="sourceLineNo">5209</span>                  + "Received a flush commit marker with seqId:" + flush.getFlushSequenceNumber()<a name="line.5209"></a>
-<span class="sourceLineNo">5210</span>                  + " and a previous prepared snapshot was found");<a name="line.5210"></a>
-<span class="sourceLineNo">5211</span>            }<a name="line.5211"></a>
-<span class="sourceLineNo">5212</span>            // This is the regular case where we received commit flush after prepare flush<a name="line.5212"></a>
-<span class="sourceLineNo">5213</span>            // corresponding to the same seqId.<a name="line.5213"></a>
-<span class="sourceLineNo">5214</span>            replayFlushInStores(flush, prepareFlushResult, true);<a name="line.5214"></a>
-<span class="sourceLineNo">5215</span><a name="line.5215"></a>
-<span class="sourceLineNo">5216</span>            // Set down the memstore size by amount of flush.<a name="line.5216"></a>
-<span class="sourceLineNo">5217</span>            this.decrMemStoreSize(prepareFlushResult.totalFlushableSize.getMemStoreSize());<a name="line.5217"></a>
-<span class="sourceLineNo">5218</span>            this.prepareFlushResult = null;<a name="line.5218"></a>
-<span class="sourceLineNo">5219</span>            writestate.flushing = false;<a name="line.5219"></a>
-<span class="sourceLineNo">5220</span>          } else if (flush.getFlushSequenceNumber() &lt; prepareFlushResult.flushOpSeqId) {<a name="line.5220"></a>
-<span class="sourceLineNo">5221</span>            // This should not happen normally. However, lets be safe and guard against these cases<a name="line.5221"></a>
-<span class="sourceLineNo">5222</span>            // we received a flush commit with a smaller seqId than what we have prepared<a name="line.5222"></a>
-<span class="sourceLineNo">5223</span>            // we will pick the flush file up from this commit (if we have not seen it), but we<a name="line.5223"></a>
-<span class="sourceLineNo">5224</span>            // will not drop the memstore<a name="line.5224"></a>
-<span class="sourceLineNo">5225</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5225"></a>
-<span class="sourceLineNo">5226</span>                + "Received a flush commit marker with smaller seqId: "<a name="line.5226"></a>
-<span class="sourceLineNo">5227</span>                + flush.getFlushSequenceNumber() + " than what we have prepared with seqId: "<a name="line.5227"></a>
-<span class="sourceLineNo">5228</span>                + prepareFlushResult.flushOpSeqId + ". Picking up new file, but not dropping"<a name="line.5228"></a>
-<span class="sourceLineNo">5229</span>                +"  prepared memstore snapshot");<a name="line.5229"></a>
-<span class="sourceLineNo">5230</span>            replayFlushInStores(flush, prepareFlushResult, false);<a name="line.5230"></a>
-<span class="sourceLineNo">5231</span><a name="line.5231"></a>
-<span class="sourceLineNo">5232</span>            // snapshot is not dropped, so memstore sizes should not be decremented<a name="line.5232"></a>
-<span class="sourceLineNo">5233</span>            // we still have the prepared snapshot, flushing should still be true<a name="line.5233"></a>
-<span class="sourceLineNo">5234</span>          } else {<a name="line.5234"></a>
-<span class="sourceLineNo">5235</span>            // This should not happen normally. However, lets be safe and guard against these cases<a name="line.5235"></a>
-<span class="sourceLineNo">5236</span>            // we received a flush commit with a larger seqId than what we have prepared<a name="line.5236"></a>
-<span class="sourceLineNo">5237</span>            // we will pick the flush file for this. We will also obtain the updates lock and<a name="line.5237"></a>
-<span class="sourceLineNo">5238</span>            // look for contents of the memstore to see whether we have edits after this seqId.<a name="line.5238"></a>
-<span class="sourceLineNo">5239</span>            // If not, we will drop all the memstore edits and the snapshot as well.<a name="line.5239"></a>
-<span class="sourceLineNo">5240</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5240"></a>
-<span class="sourceLineNo">5241</span>                + "Received a flush commit marker with larger seqId: "<a name="line.5241"></a>
-<span class="sourceLineNo">5242</span>                + flush.getFlushSequenceNumber() + " than what we have prepared with seqId: " +<a name="line.5242"></a>
-<span class="sourceLineNo">5243</span>                prepareFlushResult.flushOpSeqId + ". Picking up new file and dropping prepared"<a name="line.5243"></a>
-<span class="sourceLineNo">5244</span>                +" memstore snapshot");<a name="line.5244"></a>
-<span class="sourceLineNo">5245</span><a name="line.5245"></a>
-<span class="sourceLineNo">5246</span>            replayFlushInStores(flush, prepareFlushResult, true);<a name="line.5246"></a>
-<span class="sourceLineNo">5247</span><a name="line.5247"></a>
-<span class="sourceLineNo">5248</span>            // Set down the memstore size by amount of flush.<a name="line.5248"></a>
-<span class="sourceLineNo">5249</span>            this.decrMemStoreSize(prepareFlushResult.totalFlushableSize.getMemStoreSize());<a name="line.5249"></a>
-<span class="sourceLineNo">5250</span><a name="line.5250"></a>
-<span class="sourceLineNo">5251</span>            // Inspect the memstore contents to see whether the memstore contains only edits<a name="line.5251"></a>
-<span class="sourceLineNo">5252</span>            // with seqId smaller than the flush seqId. If so, we can discard those edits.<a name="line.5252"></a>
-<span class="sourceLineNo">5253</span>            dropMemStoreContentsForSeqId(flush.getFlushSequenceNumber(), null);<a name="line.5253"></a>
+<span class="sourceLineNo">5112</span>        if (!writestate.flushing) {<a name="line.5112"></a>
+<span class="sourceLineNo">5113</span>          // we do not have an active snapshot and corresponding this.prepareResult. This means<a name="line.5113"></a>
+<span class="sourceLineNo">5114</span>          // we can just snapshot our memstores and continue as normal.<a name="line.5114"></a>
+<span class="sourceLineNo">5115</span><a name="line.5115"></a>
+<span class="sourceLineNo">5116</span>          // invoke prepareFlushCache. Send null as wal since we do not want the flush events in wal<a name="line.5116"></a>
+<span class="sourceLineNo">5117</span>          PrepareFlushResult prepareResult = internalPrepareFlushCache(null, flushSeqId,<a name="line.5117"></a>
+<span class="sourceLineNo">5118</span>            storesToFlush, status, false, FlushLifeCycleTracker.DUMMY);<a name="line.5118"></a>
+<span class="sourceLineNo">5119</span>          if (prepareResult.result == null) {<a name="line.5119"></a>
+<span class="sourceLineNo">5120</span>            // save the PrepareFlushResult so that we can use it later from commit flush<a name="line.5120"></a>
+<span class="sourceLineNo">5121</span>            this.writestate.flushing = true;<a name="line.5121"></a>
+<span class="sourceLineNo">5122</span>            this.prepareFlushResult = prepareResult;<a name="line.5122"></a>
+<span class="sourceLineNo">5123</span>            status.markComplete("Flush prepare successful");<a name="line.5123"></a>
+<span class="sourceLineNo">5124</span>            if (LOG.isDebugEnabled()) {<a name="line.5124"></a>
+<span class="sourceLineNo">5125</span>              LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5125"></a>
+<span class="sourceLineNo">5126</span>                  + " Prepared flush with seqId:" + flush.getFlushSequenceNumber());<a name="line.5126"></a>
+<span class="sourceLineNo">5127</span>            }<a name="line.5127"></a>
+<span class="sourceLineNo">5128</span>          } else {<a name="line.5128"></a>
+<span class="sourceLineNo">5129</span>            // special case empty memstore. We will still save the flush result in this case, since<a name="line.5129"></a>
+<span class="sourceLineNo">5130</span>            // our memstore ie empty, but the primary is still flushing<a name="line.5130"></a>
+<span class="sourceLineNo">5131</span>            if (prepareResult.getResult().getResult() ==<a name="line.5131"></a>
+<span class="sourceLineNo">5132</span>                  FlushResult.Result.CANNOT_FLUSH_MEMSTORE_EMPTY) {<a name="line.5132"></a>
+<span class="sourceLineNo">5133</span>              this.writestate.flushing = true;<a name="line.5133"></a>
+<span class="sourceLineNo">5134</span>              this.prepareFlushResult = prepareResult;<a name="line.5134"></a>
+<span class="sourceLineNo">5135</span>              if (LOG.isDebugEnabled()) {<a name="line.5135"></a>
+<span class="sourceLineNo">5136</span>                LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5136"></a>
+<span class="sourceLineNo">5137</span>                  + " Prepared empty flush with seqId:" + flush.getFlushSequenceNumber());<a name="line.5137"></a>
+<span class="sourceLineNo">5138</span>              }<a name="line.5138"></a>
+<span class="sourceLineNo">5139</span>            }<a name="line.5139"></a>
+<span class="sourceLineNo">5140</span>            status.abort("Flush prepare failed with " + prepareResult.result);<a name="line.5140"></a>
+<span class="sourceLineNo">5141</span>            // nothing much to do. prepare flush failed because of some reason.<a name="line.5141"></a>
+<span class="sourceLineNo">5142</span>          }<a name="line.5142"></a>
+<span class="sourceLineNo">5143</span>          return prepareResult;<a name="line.5143"></a>
+<span class="sourceLineNo">5144</span>        } else {<a name="line.5144"></a>
+<span class="sourceLineNo">5145</span>          // we already have an active snapshot.<a name="line.5145"></a>
+<span class="sourceLineNo">5146</span>          if (flush.getFlushSequenceNumber() == this.prepareFlushResult.flushOpSeqId) {<a name="line.5146"></a>
+<span class="sourceLineNo">5147</span>            // They define the same flush. Log and continue.<a name="line.5147"></a>
+<span class="sourceLineNo">5148</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5148"></a>
+<span class="sourceLineNo">5149</span>                + "Received a flush prepare marker with the same seqId: " +<a name="line.5149"></a>
+<span class="sourceLineNo">5150</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5150"></a>
+<span class="sourceLineNo">5151</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5151"></a>
+<span class="sourceLineNo">5152</span>            // ignore<a name="line.5152"></a>
+<span class="sourceLineNo">5153</span>          } else if (flush.getFlushSequenceNumber() &lt; this.prepareFlushResult.flushOpSeqId) {<a name="line.5153"></a>
+<span class="sourceLineNo">5154</span>            // We received a flush with a smaller seqNum than what we have prepared. We can only<a name="line.5154"></a>
+<span class="sourceLineNo">5155</span>            // ignore this prepare flush request.<a name="line.5155"></a>
+<span class="sourceLineNo">5156</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5156"></a>
+<span class="sourceLineNo">5157</span>                + "Received a flush prepare marker with a smaller seqId: " +<a name="line.5157"></a>
+<span class="sourceLineNo">5158</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5158"></a>
+<span class="sourceLineNo">5159</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5159"></a>
+<span class="sourceLineNo">5160</span>            // ignore<a name="line.5160"></a>
+<span class="sourceLineNo">5161</span>          } else {<a name="line.5161"></a>
+<span class="sourceLineNo">5162</span>            // We received a flush with a larger seqNum than what we have prepared<a name="line.5162"></a>
+<span class="sourceLineNo">5163</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5163"></a>
+<span class="sourceLineNo">5164</span>                + "Received a flush prepare marker with a larger seqId: " +<a name="line.5164"></a>
+<span class="sourceLineNo">5165</span>                + flush.getFlushSequenceNumber() + " before clearing the previous one with seqId: "<a name="line.5165"></a>
+<span class="sourceLineNo">5166</span>                + prepareFlushResult.flushOpSeqId + ". Ignoring");<a name="line.5166"></a>
+<span class="sourceLineNo">5167</span>            // We do not have multiple active snapshots in the memstore or a way to merge current<a name="line.5167"></a>
+<span class="sourceLineNo">5168</span>            // memstore snapshot with the contents and resnapshot for now. We cannot take<a name="line.5168"></a>
+<span class="sourceLineNo">5169</span>            // another snapshot and drop the previous one because that will cause temporary<a name="line.5169"></a>
+<span class="sourceLineNo">5170</span>            // data loss in the secondary. So we ignore this for now, deferring the resolution<a name="line.5170"></a>
+<span class="sourceLineNo">5171</span>            // to happen when we see the corresponding flush commit marker. If we have a memstore<a name="line.5171"></a>
+<span class="sourceLineNo">5172</span>            // snapshot with x, and later received another prepare snapshot with y (where x &lt; y),<a name="line.5172"></a>
+<span class="sourceLineNo">5173</span>            // when we see flush commit for y, we will drop snapshot for x, and can also drop all<a name="line.5173"></a>
+<span class="sourceLineNo">5174</span>            // the memstore edits if everything in memstore is &lt; y. This is the usual case for<a name="line.5174"></a>
+<span class="sourceLineNo">5175</span>            // RS crash + recovery where we might see consequtive prepare flush wal markers.<a name="line.5175"></a>
+<span class="sourceLineNo">5176</span>            // Otherwise, this will cause more memory to be used in secondary replica until a<a name="line.5176"></a>
+<span class="sourceLineNo">5177</span>            // further prapare + commit flush is seen and replayed.<a name="line.5177"></a>
+<span class="sourceLineNo">5178</span>          }<a name="line.5178"></a>
+<span class="sourceLineNo">5179</span>        }<a name="line.5179"></a>
+<span class="sourceLineNo">5180</span>      } finally {<a name="line.5180"></a>
+<span class="sourceLineNo">5181</span>        status.cleanup();<a name="line.5181"></a>
+<span class="sourceLineNo">5182</span>        writestate.notifyAll();<a name="line.5182"></a>
+<span class="sourceLineNo">5183</span>      }<a name="line.5183"></a>
+<span class="sourceLineNo">5184</span>    }<a name="line.5184"></a>
+<span class="sourceLineNo">5185</span>    return null;<a name="line.5185"></a>
+<span class="sourceLineNo">5186</span>  }<a name="line.5186"></a>
+<span class="sourceLineNo">5187</span><a name="line.5187"></a>
+<span class="sourceLineNo">5188</span>  @VisibleForTesting<a name="line.5188"></a>
+<span class="sourceLineNo">5189</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NN_NAKED_NOTIFY",<a name="line.5189"></a>
+<span class="sourceLineNo">5190</span>    justification="Intentional; post memstore flush")<a name="line.5190"></a>
+<span class="sourceLineNo">5191</span>  void replayWALFlushCommitMarker(FlushDescriptor flush) throws IOException {<a name="line.5191"></a>
+<span class="sourceLineNo">5192</span>    MonitoredTask status = TaskMonitor.get().createStatus("Committing flush " + this);<a name="line.5192"></a>
+<span class="sourceLineNo">5193</span><a name="line.5193"></a>
+<span class="sourceLineNo">5194</span>    // check whether we have the memstore snapshot with the corresponding seqId. Replay to<a name="line.5194"></a>
+<span class="sourceLineNo">5195</span>    // secondary region replicas are in order, except for when the region moves or then the<a name="line.5195"></a>
+<span class="sourceLineNo">5196</span>    // region server crashes. In those cases, we may receive replay requests out of order from<a name="line.5196"></a>
+<span class="sourceLineNo">5197</span>    // the original seqIds.<a name="line.5197"></a>
+<span class="sourceLineNo">5198</span>    synchronized (writestate) {<a name="line.5198"></a>
+<span class="sourceLineNo">5199</span>      try {<a name="line.5199"></a>
+<span class="sourceLineNo">5200</span>        if (flush.getFlushSequenceNumber() &lt; lastReplayedOpenRegionSeqId) {<a name="line.5200"></a>
+<span class="sourceLineNo">5201</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5201"></a>
+<span class="sourceLineNo">5202</span>            + "Skipping replaying flush event :" + TextFormat.shortDebugString(flush)<a name="line.5202"></a>
+<span class="sourceLineNo">5203</span>            + " because its sequence id is smaller than this regions lastReplayedOpenRegionSeqId "<a name="line.5203"></a>
+<span class="sourceLineNo">5204</span>            + " of " + lastReplayedOpenRegionSeqId);<a name="line.5204"></a>
+<span class="sourceLineNo">5205</span>          return;<a name="line.5205"></a>
+<span class="sourceLineNo">5206</span>        }<a name="line.5206"></a>
+<span class="sourceLineNo">5207</span><a name="line.5207"></a>
+<span class="sourceLineNo">5208</span>        if (writestate.flushing) {<a name="line.5208"></a>
+<span class="sourceLineNo">5209</span>          PrepareFlushResult prepareFlushResult = this.prepareFlushResult;<a name="line.5209"></a>
+<span class="sourceLineNo">5210</span>          if (flush.getFlushSequenceNumber() == prepareFlushResult.flushOpSeqId) {<a name="line.5210"></a>
+<span class="sourceLineNo">5211</span>            if (LOG.isDebugEnabled()) {<a name="line.5211"></a>
+<span class="sourceLineNo">5212</span>              LOG.debug(getRegionInfo().getEncodedName() + " : "<a name="line.5212"></a>
+<span class="sourceLineNo">5213</span>                  + "Received a flush commit marker with seqId:" + flush.getFlushSequenceNumber()<a name="line.5213"></a>
+<span class="sourceLineNo">5214</span>                  + " and a previous prepared snapshot was found");<a name="line.5214"></a>
+<span class="sourceLineNo">5215</span>            }<a name="line.5215"></a>
+<span class="sourceLineNo">5216</span>            // This is the regular case where we received commit flush after prepare flush<a name="line.5216"></a>
+<span class="sourceLineNo">5217</span>            // corresponding to the same seqId.<a name="line.5217"></a>
+<span class="sourceLineNo">5218</span>            replayFlushInStores(flush, prepareFlushResult, true);<a name="line.5218"></a>
+<span class="sourceLineNo">5219</span><a name="line.5219"></a>
+<span class="sourceLineNo">5220</span>            // Set down the memstore size by amount of flush.<a name="line.5220"></a>
+<span class="sourceLineNo">5221</span>            this.decrMemStoreSize(prepareFlushResult.totalFlushableSize.getMemStoreSize());<a name="line.5221"></a>
+<span class="sourceLineNo">5222</span>            this.prepareFlushResult = null;<a name="line.5222"></a>
+<span class="sourceLineNo">5223</span>            writestate.flushing = false;<a name="line.5223"></a>
+<span class="sourceLineNo">5224</span>          } else if (flush.getFlushSequenceNumber() &lt; prepareFlushResult.flushOpSeqId) {<a name="line.5224"></a>
+<span class="sourceLineNo">5225</span>            // This should not happen normally. However, lets be safe and guard against these cases<a name="line.5225"></a>
+<span class="sourceLineNo">5226</span>            // we received a flush commit with a smaller seqId than what we have prepared<a name="line.5226"></a>
+<span class="sourceLineNo">5227</span>            // we will pick the flush file up from this commit (if we have not seen it), but we<a name="line.5227"></a>
+<span class="sourceLineNo">5228</span>            // will not drop the memstore<a name="line.5228"></a>
+<span class="sourceLineNo">5229</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5229"></a>
+<span class="sourceLineNo">5230</span>                + "Received a flush commit marker with smaller seqId: "<a name="line.5230"></a>
+<span class="sourceLineNo">5231</span>                + flush.getFlushSequenceNumber() + " than what we have prepared with seqId: "<a name="line.5231"></a>
+<span class="sourceLineNo">5232</span>                + prepareFlushResult.flushOpSeqId + ". Picking up new file, but not dropping"<a name="line.5232"></a>
+<span class="sourceLineNo">5233</span>                +"  prepared memstore snapshot");<a name="line.5233"></a>
+<span class="sourceLineNo">5234</span>            replayFlushInStores(flush, prepareFlushResult, false);<a name="line.5234"></a>
+<span class="sourceLineNo">5235</span><a name="line.5235"></a>
+<span class="sourceLineNo">5236</span>            // snapshot is not dropped, so memstore sizes should not be decremented<a name="line.5236"></a>
+<span class="sourceLineNo">5237</span>            // we still have the prepared snapshot, flushing should still be true<a name="line.5237"></a>
+<span class="sourceLineNo">5238</span>          } else {<a name="line.5238"></a>
+<span class="sourceLineNo">5239</span>            // This should not happen normally. However, lets be safe and guard against these cases<a name="line.5239"></a>
+<span class="sourceLineNo">5240</span>            // we received a flush commit with a larger seqId than what we have prepared<a name="line.5240"></a>
+<span class="sourceLineNo">5241</span>            // we will pick the flush file for this. We will also obtain the updates lock and<a name="line.5241"></a>
+<span class="sourceLineNo">5242</span>            // look for contents of the memstore to see whether we have edits after this seqId.<a name="line.5242"></a>
+<span class="sourceLineNo">5243</span>            // If not, we will drop all the memstore edits and the snapshot as well.<a name="line.5243"></a>
+<span class="sourceLineNo">5244</span>            LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5244"></a>
+<span class="sourceLineNo">5245</span>                + "Received a flush commit marker with larger seqId: "<a name="line.5245"></a>
+<span class="sourceLineNo">5246</span>                + flush.getFlushSequenceNumber() + " than what we have prepared with seqId: " +<a name="line.5246"></a>
+<span class="sourceLineNo">5247</span>                prepareFlushResult.flushOpSeqId + ". Picking up new file and dropping prepared"<a name="line.5247"></a>
+<span class="sourceLineNo">5248</span>                +" memstore snapshot");<a name="line.5248"></a>
+<span class="sourceLineNo">5249</span><a name="line.5249"></a>
+<span class="sourceLineNo">5250</span>            replayFlushInStores(flush, prepareFlushResult, true);<a name="line.5250"></a>
+<span class="sourceLineNo">5251</span><a name="line.5251"></a>
+<span class="sourceLineNo">5252</span>            // Set down the memstore size by amount of flush.<a name="line.5252"></a>
+<span class="sourceLineNo">5253</span>            this.decrMemStoreSize(prepareFlushResult.totalFlushableSize.getMemStoreSize());<a name="line.5253"></a>
 <span class="sourceLineNo">5254</span><a name="line.5254"></a>
-<span class="sourceLineNo">5255</span>            this.prepareFlushResult = null;<a name="line.5255"></a>
-<span class="sourceLineNo">5256</span>            writestate.flushing = false;<a name="line.5256"></a>
-<span class="sourceLineNo">5257</span>          }<a name="line.5257"></a>
-<span class="sourceLineNo">5258</span>          // If we were waiting for observing a flush or region opening event for not showing<a name="line.5258"></a>
-<span class="sourceLineNo">5259</span>          // partial data after a secondary region crash, we can allow reads now. We can only make<a name="line.5259"></a>
-<span class="sourceLineNo">5260</span>          // sure that we are not showing partial data (for example skipping some previous edits)<a name="line.5260"></a>
-<span class="sourceLineNo">5261</span>          // until we observe a full flush start and flush commit. So if we were not able to find<a name="line.5261"></a>
-<span class="sourceLineNo">5262</span>          // a previous flush we will not enable reads now.<a name="line.5262"></a>
-<span class="sourceLineNo">5263</span>          this.setReadsEnabled(true);<a name="line.5263"></a>
-<span class="sourceLineNo">5264</span>        } else {<a name="line.5264"></a>
-<span class="sourceLineNo">5265</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5265"></a>
-<span class="sourceLineNo">5266</span>              + "Received a flush commit marker with seqId:" + flush.getFlushSequenceNumber()<a name="line.5266"></a>
-<span class="sourceLineNo">5267</span>              + ", but no previous prepared snapshot was found");<a name="line.5267"></a>
-<span class="sourceLineNo">5268</span>          // There is no corresponding prepare snapshot from before.<a name="line.5268"></a>
-<span class="sourceLineNo">5269</span>          // We will pick up the new flushed file<a name="line.5269"></a>
-<span class="sourceLineNo">5270</span>          replayFlushInStores(flush, null, false);<a name="line.5270"></a>
-<span class="sourceLineNo">5271</span><a name="line.5271"></a>
-<span class="sourceLineNo">5272</span>          // Inspect the memstore contents to see whether the memstore contains only edits<a name="line.5272"></a>
-<span class="sourceLineNo">5273</span>          // with seqId smaller than the flush seqId. If so, we can discard those edits.<a name="line.5273"></a>
-<span class="sourceLineNo">5274</span>          dropMemStoreContentsForSeqId(flush.getFlushSequenceNumber(), null);<a name="line.5274"></a>
-<span class="sourceLineNo">5275</span>        }<a name="line.5275"></a>
-<span class="sourceLineNo">5276</span><a name="line.5276"></a>
-<span class="sourceLineNo">5277</span>        status.markComplete("Flush commit successful");<a name="line.5277"></a>
-<span class="sourceLineNo">5278</span><a name="line.5278"></a>
-<span class="sourceLineNo">5279</span>        // Update the last flushed sequence id for region.<a name="line.5279"></a>
-<span class="sourceLineNo">5280</span>        this.maxFlushedSeqId = flush.getFlushSequenceNumber();<a name="line.5280"></a>
-<span class="sourceLineNo">5281</span><a name="line.5281"></a>
-<span class="sourceLineNo">5282</span>        // advance the mvcc read point so that the new flushed file is visible.<a name="line.5282"></a>
-<span class="sourceLineNo">5283</span>        mvcc.advanceTo(flush.getFlushSequenceNumber());<a name="line.5283"></a>
-<span class="sourceLineNo">5284</span><a name="line.5284"></a>
-<span class="sourceLineNo">5285</span>      } catch (FileNotFoundException ex) {<a name="line.5285"></a>
-<span class="sourceLineNo">5286</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5286"></a>
-<span class="sourceLineNo">5287</span>            + "At least one of the store files in flush: " + TextFormat.shortDebugString(flush)<a name="line.5287"></a>
-<span class="sourceLineNo">5288</span>            + " doesn't exist any more. Skip loading the file(s)", ex);<a name="line.5288"></a>
-<span class="sourceLineNo">5289</span>      }<a name="line.5289"></a>
-<span class="sourceLineNo">5290</span>      finally {<a name="line.5290"></a>
-<span class="sourceLineNo">5291</span>        status.cleanup();<a name="line.5291"></a>
-<span class="sourceLineNo">5292</span>        writestate.notifyAll();<a name="line.5292"></a>
+<span class="sourceLineNo">5255</span>            // Inspect the memstore contents to see whether the memstore contains only edits<a name="line.5255"></a>
+<span class="sourceLineNo">5256</span>            // with seqId smaller than the flush seqId. If so, we can discard those edits.<a name="line.5256"></a>
+<span class="sourceLineNo">5257</span>            dropMemStoreContentsForSeqId(flush.getFlushSequenceNumber(), null);<a name="line.5257"></a>
+<span class="sourceLineNo">5258</span><a name="line.5258"></a>
+<span class="sourceLineNo">5259</span>            this.prepareFlushResult = null;<a name="line.5259"></a>
+<span class="sourceLineNo">5260</span>            writestate.flushing = false;<a name="line.5260"></a>
+<span class="sourceLineNo">5261</span>          }<a name="line.5261"></a>
+<span class="sourceLineNo">5262</span>          // If we were waiting for observing a flush or region opening event for not showing<a name="line.5262"></a>
+<span class="sourceLineNo">5263</span>          // partial data after a secondary region crash, we can allow reads now. We can only make<a name="line.5263"></a>
+<span class="sourceLineNo">5264</span>          // sure that we are not showing partial data (for example skipping some previous edits)<a name="line.5264"></a>
+<span class="sourceLineNo">5265</span>          // until we observe a full flush start and flush commit. So if we were not able to find<a name="line.5265"></a>
+<span class="sourceLineNo">5266</span>          // a previous flush we will not enable reads now.<a name="line.5266"></a>
+<span class="sourceLineNo">5267</span>          this.setReadsEnabled(true);<a name="line.5267"></a>
+<span class="sourceLineNo">5268</span>        } else {<a name="line.5268"></a>
+<span class="sourceLineNo">5269</span>          LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5269"></a>
+<span class="sourceLineNo">5270</span>              + "Received a flush commit marker with seqId:" + flush.getFlushSequenceNumber()<a name="line.5270"></a>
+<span class="sourceLineNo">5271</span>              + ", but no previous prepared snapshot was found");<a name="line.5271"></a>
+<span class="sourceLineNo">5272</span>          // There is no corresponding prepare snapshot from before.<a name="line.5272"></a>
+<span class="sourceLineNo">5273</span>          // We will pick up the new flushed file<a name="line.5273"></a>
+<span class="sourceLineNo">5274</span>          replayFlushInStores(flush, null, false);<a name="line.5274"></a>
+<span class="sourceLineNo">5275</span><a name="line.5275"></a>
+<span class="sourceLineNo">5276</span>          // Inspect the memstore contents to see whether the memstore contains only edits<a name="line.5276"></a>
+<span class="sourceLineNo">5277</span>          // with seqId smaller than the flush seqId. If so, we can discard those edits.<a name="line.5277"></a>
+<span class="sourceLineNo">5278</span>          dropMemStoreContentsForSeqId(flush.getFlushSequenceNumber(), null);<a name="line.5278"></a>
+<span class="sourceLineNo">5279</span>        }<a name="line.5279"></a>
+<span class="sourceLineNo">5280</span><a name="line.5280"></a>
+<span class="sourceLineNo">5281</span>        status.markComplete("Flush commit successful");<a name="line.5281"></a>
+<span class="sourceLineNo">5282</span><a name="line.5282"></a>
+<span class="sourceLineNo">5283</span>        // Update the last flushed sequence id for region.<a name="line.5283"></a>
+<span class="sourceLineNo">5284</span>        this.maxFlushedSeqId = flush.getFlushSequenceNumber();<a name="line.5284"></a>
+<span class="sourceLineNo">5285</span><a name="line.5285"></a>
+<span class="sourceLineNo">5286</span>        // advance the mvcc read point so that the new flushed file is visible.<a name="line.5286"></a>
+<span class="sourceLineNo">5287</span>        mvcc.advanceTo(flush.getFlushSequenceNumber());<a name="line.5287"></a>
+<span class="sourceLineNo">5288</span><a name="line.5288"></a>
+<span class="sourceLineNo">5289</span>      } catch (FileNotFoundException ex) {<a name="line.5289"></a>
+<span class="sourceLineNo">5290</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5290"></a>
+<span class="sourceLineNo">5291</span>            + "At least one of the store files in flush: " + TextFormat.shortDebugString(flush)<a name="line.5291"></a>
+<span class="sourceLineNo">5292</span>            + " doesn't exist any more. Skip loading the file(s)", ex);<a name="line.5292"></a>
 <span class="sourceLineNo">5293</span>      }<a name="line.5293"></a>
-<span class="sourceLineNo">5294</span>    }<a name="line.5294"></a>
-<span class="sourceLineNo">5295</span><a name="line.5295"></a>
-<span class="sourceLineNo">5296</span>    // C. Finally notify anyone waiting on memstore to clear:<a name="line.5296"></a>
-<span class="sourceLineNo">5297</span>    // e.g. checkResources().<a name="line.5297"></a>
-<span class="sourceLineNo">5298</span>    synchronized (this) {<a name="line.5298"></a>
-<span class="sourceLineNo">5299</span>      notifyAll(); // FindBugs NN_NAKED_NOTIFY<a name="line.5299"></a>
-<span class="sourceLineNo">5300</span>    }<a name="line.5300"></a>
-<span class="sourceLineNo">5301</span>  }<a name="line.5301"></a>
-<span class="sourceLineNo">5302</span><a name="line.5302"></a>
-<span class="sourceLineNo">5303</span>  /**<a name="line.5303"></a>
-<span class="sourceLineNo">5304</span>   * Replays the given flush descriptor by opening the flush files in stores and dropping the<a name="line.5304"></a>
-<span class="sourceLineNo">5305</span>   * memstore snapshots if requested.<a name="line.5305"></a>
-<span class="sourceLineNo">5306</span>   * @param flush<a name="line.5306"></a>
-<span class="sourceLineNo">5307</span>   * @param prepareFlushResult<a name="line.5307"></a>
-<span class="sourceLineNo">5308</span>   * @param dropMemstoreSnapshot<a name="line.5308"></a>
-<span class="sourceLineNo">5309</span>   * @throws IOException<a name="line.5309"></a>
-<span class="sourceLineNo">5310</span>   */<a name="line.5310"></a>
-<span class="sourceLineNo">5311</span>  private void replayFlushInStores(FlushDescriptor flush, PrepareFlushResult prepareFlushResult,<a name="line.5311"></a>
-<span class="sourceLineNo">5312</span>      boolean dropMemstoreSnapshot)<a name="line.5312"></a>
-<span class="sourceLineNo">5313</span>      throws IOException {<a name="line.5313"></a>
-<span class="sourceLineNo">5314</span>    for (StoreFlushDescriptor storeFlush : flush.getStoreFlushesList()) {<a name="line.5314"></a>
-<span class="sourceLineNo">5315</span>      byte[] family = storeFlush.getFamilyName().toByteArray();<a name="line.5315"></a>
-<span class="sourceLineNo">5316</span>      HStore store = getStore(family);<a name="line.5316"></a>
-<span class="sourceLineNo">5317</span>      if (store == null) {<a name="line.5317"></a>
-<span class="sourceLineNo">5318</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5318"></a>
-<span class="sourceLineNo">5319</span>            + "Received a flush commit marker from primary, but the family is not found."<a name="line.5319"></a>
-<span class="sourceLineNo">5320</span>            + "Ignoring StoreFlushDescriptor:" + storeFlush);<a name="line.5320"></a>
-<span class="sourceLineNo">5321</span>        continue;<a name="line.5321"></a>
-<span class="sourceLineNo">5322</span>      }<a name="line.5322"></a>
-<span class="sourceLineNo">5323</span>      List&lt;String&gt; flushFiles = storeFlush.getFlushOutputList();<a name="line.5323"></a>
-<span class="sourceLineNo">5324</span>      StoreFlushContext ctx = null;<a name="line.5324"></a>
-<span class="sourceLineNo">5325</span>      long startTime = EnvironmentEdgeManager.currentTime();<a name="line.5325"></a>
-<span class="sourceLineNo">5326</span>      if (prepareFlushResult == null || prepareFlushResult.storeFlushCtxs == null) {<a name="line.5326"></a>
-<span class="sourceLineNo">5327</span>        ctx = store.createFlushContext(flush.getFlushSequenceNumber(), FlushLifeCycleTracker.DUMMY);<a name="line.5327"></a>
-<span class="sourceLineNo">5328</span>      } else {<a name="line.5328"></a>
-<span class="sourceLineNo">5329</span>        ctx = prepareFlushResult.storeFlushCtxs.get(family);<a name="line.5329"></a>
-<span class="sourceLineNo">5330</span>        startTime = prepareFlushResult.startTime;<a name="line.5330"></a>
-<span class="sourceLineNo">5331</span>      }<a name="line.5331"></a>
-<span class="sourceLineNo">5332</span><a name="line.5332"></a>
-<span class="sourceLineNo">5333</span>      if (ctx == null) {<a name="line.5333"></a>
-<span class="sourceLineNo">5334</span>        LOG.warn(getRegionInfo().getEncodedName() + " : "<a name="line.5334"></a>
-<span class="sourceLineNo">5335</span>            + "Unexpected: flush commit marker received from store "<a name="line.5335"></a>
-<span class="sourceLineNo">5336</span>            + Bytes.toString(family) + " but no associated flush context. Ignoring");<a name="line.5336"></a>
-<span class="sourceLineNo">5337</span>        continue;<a name="line.5337"></a>
-<span class="sourceLineNo">5338</span>      }<a name="line.5338"></a>
-<span class="sourceLineNo">5339</span><a name="line.5339"></a>
-<span class="sourceLineNo">5340</span>      ctx.replayFlush(flushFiles, dropMemstoreSnapshot); // replay the flush<a name="line.5340"></a>
-<span class="sourceLineNo">5341</span><a name="line.5341"></a>
-<span class="sourceLineNo">5342</span>      // Record latest flush time<a name="line.5342"></a>
-<span class="sourceLineNo">5343</span>      this.lastStoreFlushTimeMap.put(store, startTime);<a name="line.5343"></a>
-<span class="sourceLineNo">5344</span>    }<a name="line.5344"></a>
-<span class="sourceLineNo">5345</span>  }<a name="line.5345"></a>
-<span class="sourceLineNo">5346</span><a name="line.5346"></a>
-<span class="sourceLineNo">5347</span>  /**<a name="line.5347"></a>
-<span class="sourceLineNo">5348</span>   * Be careful, this method will drop all data in the memstore of this region.<a name="line.5348"></a>
-<span class="sourceLineNo">5349</span>   * Currently, this method is used to drop memstore to prevent memory leak<a name="line.5349"></a>
-<span class="sourceLineNo">5350</span>   * when replaying recovered.edits while opening region.<a name="line.5350"></a>
-<span class="sourceLineNo">5351</span>   */<a name="line.5351"></a>
-<span class="sourceLineNo">5352</span>  public MemStoreSize dropMemStoreContents() throws IOException {<a name="line.5352"></a>
-<span class="sourceLineNo">5353</span>    MemStoreSizing totalFreedSize = new NonThreadSafeMemStoreSizing();<a name="line.5353"></a>
-<span class="sourceLineNo">5354</span>    this.updatesLock.writeLock().lock();<a name="line.5354"></a>
-<span class="sourceLineNo">5355</span>    try {<a name="line.5355"></a>
-<span class="sourceLineNo">5356</span>      for (HStore s : stores.values()) {<a name="line.5356"></a>
-<span class="sourceLineNo">5357</span>        MemStoreSize memStoreSize = doDropStoreMemStoreContentsForSeqId(s, HConstants.NO_SEQNUM);<a name="line.5357"></a>
-<span class="sourceLineNo">5358</span>        LOG.info("Drop memstore for Store " + s.getColumnFamilyName() + " in region "<a name="line.5358"></a>
-<span class="sourceLineNo">5359</span>                + this.getRegionInfo().getRegionNameAsString()<a name="line.5359"></a>
... 141537 lines suppressed ...