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 2022/11/03 14:43:47 UTC

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

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 1e33fa79418 Published site at e7d1a6a0525fcadf1cd0294d7a09af432a1af853.
1e33fa79418 is described below

commit 1e33fa794185d83db8b954c09fc77c3d30424657
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Nov 3 14:43:34 2022 +0000

    Published site at e7d1a6a0525fcadf1cd0294d7a09af432a1af853.
---
 acid-semantics.html                                |     2 +-
 apache_hbase_reference_guide.pdf                   |     4 +-
 book.html                                          |     2 +-
 bulk-loads.html                                    |     2 +-
 checkstyle-aggregate.html                          |    42 +-
 checkstyle.rss                                     |    16 +-
 coc.html                                           |     2 +-
 dependencies.html                                  |     2 +-
 dependency-convergence.html                        |     2 +-
 dependency-info.html                               |     2 +-
 dependency-management.html                         |     2 +-
 devapidocs/allclasses-frame.html                   |     2 +
 devapidocs/allclasses-noframe.html                 |     2 +
 devapidocs/index-all.html                          |    32 +
 .../hbase/HConstants.OperationStatusCode.html      |     4 +-
 .../apache/hadoop/hbase/backup/package-tree.html   |     4 +-
 .../apache/hadoop/hbase/client/package-tree.html   |    24 +-
 .../coprocessor/RegionObserver.MutationType.html   |     4 +-
 .../hadoop/hbase/coprocessor/package-tree.html     |     2 +-
 .../apache/hadoop/hbase/filter/package-tree.html   |     6 +-
 .../hadoop/hbase/hbtop/terminal/package-tree.html  |     2 +-
 .../hadoop/hbase/io/crypto/tls/package-tree.html   |     2 +-
 .../apache/hadoop/hbase/io/hfile/package-tree.html |     4 +-
 .../org/apache/hadoop/hbase/ipc/package-tree.html  |     4 +-
 .../hadoop/hbase/mapreduce/package-tree.html       |     4 +-
 .../hbase/master/assignment/package-tree.html      |     2 +-
 .../apache/hadoop/hbase/master/package-tree.html   |     6 +-
 .../org/apache/hadoop/hbase/package-tree.html      |    20 +-
 .../hadoop/hbase/procedure2/package-tree.html      |     4 +-
 .../apache/hadoop/hbase/quotas/package-tree.html   |     8 +-
 .../HRegion.BatchOperation.Visitor.html            |     4 +-
 .../hbase/regionserver/HRegion.BatchOperation.html |    88 +-
 .../regionserver/HRegion.BulkLoadListener.html     |     8 +-
 .../regionserver/HRegion.FlushResult.Result.html   |    10 +-
 .../hbase/regionserver/HRegion.FlushResult.html    |     8 +-
 .../HRegion.MutationBatchOperation.html            |    72 +-
 .../regionserver/HRegion.ReplayBatchOperation.html |    34 +-
 .../hbase/regionserver/HRegion.RowLockContext.html |    28 +-
 .../hbase/regionserver/HRegion.RowLockImpl.html    |    16 +-
 .../apache/hadoop/hbase/regionserver/HRegion.html  |   681 +-
 .../hadoop/hbase/regionserver/OperationStatus.html |     4 +-
 .../ReadPointCalculationLock.LockType.html}        |    73 +-
 ...LockImpl.html => ReadPointCalculationLock.html} |   182 +-
 .../apache/hadoop/hbase/regionserver/Region.html   |     4 +-
 .../hbase/regionserver/RegionScannerImpl.html      |    66 +-
 .../ReadPointCalculationLock.LockType.html         |   191 +
 .../class-use/ReadPointCalculationLock.html        |   165 +
 .../hadoop/hbase/regionserver/package-frame.html   |     2 +
 .../hadoop/hbase/regionserver/package-summary.html |   193 +-
 .../hadoop/hbase/regionserver/package-tree.html    |    20 +-
 .../hadoop/hbase/regionserver/package-use.html     |     9 +
 .../hbase/regionserver/wal/package-tree.html       |     2 +-
 .../hadoop/hbase/security/access/package-tree.html |     8 +-
 .../apache/hadoop/hbase/security/package-tree.html |     2 +-
 .../apache/hadoop/hbase/thrift/package-tree.html   |     2 +-
 .../apache/hadoop/hbase/trace/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/util/package-tree.html |    12 +-
 devapidocs/overview-tree.html                      |     2 +
 .../HRegion.BatchOperation.Visitor.html            | 16021 ++++++++++---------
 .../hbase/regionserver/HRegion.BatchOperation.html | 16021 ++++++++++---------
 .../regionserver/HRegion.BulkLoadListener.html     | 16021 ++++++++++---------
 .../regionserver/HRegion.FlushResult.Result.html   | 16021 ++++++++++---------
 .../hbase/regionserver/HRegion.FlushResult.html    | 16021 ++++++++++---------
 .../regionserver/HRegion.FlushResultImpl.html      | 16021 ++++++++++---------
 .../HRegion.MutationBatchOperation.html            | 16021 ++++++++++---------
 .../HRegion.ObservedExceptionsInBatch.html         | 16021 ++++++++++---------
 .../regionserver/HRegion.PrepareFlushResult.html   | 16021 ++++++++++---------
 .../regionserver/HRegion.ReplayBatchOperation.html | 16021 ++++++++++---------
 .../hbase/regionserver/HRegion.RowLockContext.html | 16021 ++++++++++---------
 .../hbase/regionserver/HRegion.RowLockImpl.html    | 16021 ++++++++++---------
 .../hbase/regionserver/HRegion.WriteState.html     | 16021 ++++++++++---------
 .../apache/hadoop/hbase/regionserver/HRegion.html  | 16021 ++++++++++---------
 .../ReadPointCalculationLock.LockType.html         |   162 +
 .../regionserver/ReadPointCalculationLock.html     |   162 +
 .../hbase/regionserver/RegionScannerImpl.html      |  1301 +-
 downloads.html                                     |     2 +-
 export_control.html                                |     2 +-
 index.html                                         |     2 +-
 issue-management.html                              |     2 +-
 licenses.html                                      |     2 +-
 mailing-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 +-
 pseudo-distributed.html                            |     2 +-
 replication.html                                   |     2 +-
 resources.html                                     |     2 +-
 scm.html                                           |     2 +-
 sponsors.html                                      |     2 +-
 summary.html                                       |     2 +-
 supportingprojects.html                            |     2 +-
 team.html                                          |     2 +-
 .../TestAtomicOperation.MockHRegion.html           |     2 +-
 .../TestHRegion.HRegionForTesting.html             |     2 +-
 .../regionserver/TestHRegion.HRegionWithSeqId.html |     2 +-
 ...stOpenSeqNumUnexpectedIncrease.MockHRegion.html |     2 +-
 ...gionInterrupt.InterruptInterceptingHRegion.html |     2 +-
 ...TestRegionServerAbort.ErrorThrowingHRegion.html |     2 +-
 .../TestReplicateToReplica.HRegionForTest.html     |     2 +-
 ...tScannerHeartbeatMessages.HeartbeatHRegion.html |     2 +-
 104 files changed, 114443 insertions(+), 113636 deletions(-)

diff --git a/acid-semantics.html b/acid-semantics.html
index 6daab64d1ec..63e8b36e093 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -464,7 +464,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 14807b409a3..4a5fb9e30b1 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 2.0.6, based on Prawn 2.4.0)
 /Producer (Apache HBase Team)
-/ModDate (D:20221101142940+00'00')
-/CreationDate (D:20221101144036+00'00')
+/ModDate (D:20221103142941+00'00')
+/CreationDate (D:20221103144042+00'00')
 >>
 endobj
 2 0 obj
diff --git a/book.html b/book.html
index db7092d42fe..e50aef6b3bd 100644
--- a/book.html
+++ b/book.html
@@ -48058,7 +48058,7 @@ org/apache/hadoop/hbase/security/access/AccessControlClient.revoke:(Lorg/apache/
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-alpha-4-SNAPSHOT<br>
-Last updated 2022-11-01 14:29:40 UTC
+Last updated 2022-11-03 14:29:41 UTC
 </div>
 </div>
 <script type="text/x-mathjax-config">
diff --git a/bulk-loads.html b/bulk-loads.html
index 3cd83d3f410..d79c7532320 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -180,7 +180,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 8d0cdce1f14..fb0856ea7f6 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -173,7 +173,7 @@
 <th><figure><img src="images/icon_warning_sml.gif" alt="" /></figure>&#160;Warnings</th>
 <th><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Errors</th></tr>
 <tr class="b">
-<td>4772</td>
+<td>4773</td>
 <td>0</td>
 <td>0</td>
 <td>1747</td></tr></table></section><section>
@@ -12124,109 +12124,109 @@
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 267 lines (max allowed is 150).</td>
-<td>1628</td></tr>
+<td>1630</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1946</td></tr>
+<td>1948</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>1953</td></tr>
+<td>1955</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2358</td></tr>
+<td>2360</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
 <td>Inner assignments should be avoided.</td>
-<td>2756</td></tr>
+<td>2758</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2825</td></tr>
+<td>2827</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>2928</td></tr>
+<td>2930</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>4784</td></tr>
+<td>4786</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>5132</td></tr>
+<td>5134</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>5146</td></tr>
+<td>5148</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 199 lines (max allowed is 150).</td>
-<td>5507</td></tr>
+<td>5509</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 214 lines (max allowed is 150).</td>
-<td>7184</td></tr>
+<td>7186</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>8406</td></tr>
+<td>8409</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8407</td></tr>
+<td>8410</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>8409</td></tr>
+<td>8412</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8410</td></tr>
+<td>8413</td></tr>
 <tr class="a">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>8422</td></tr>
+<td>8425</td></tr>
 <tr class="b">
 <td><figure><img src="images/icon_error_sml.gif" alt="" /></figure>&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'else' construct must use '{}'s.</td>
-<td>8423</td></tr></table></section><section>
+<td>8426</td></tr></table></section><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">
 <tr class="a">
@@ -12682,7 +12682,7 @@
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 208 lines (max allowed is 150).</td>
-<td>410</td></tr></table></section><section>
+<td>413</td></tr></table></section><section>
 <h3 id="org.apache.hadoop.hbase.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.java</h3>
 <table border="0" class="table table-striped">
 <tr class="b">
@@ -18709,7 +18709,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 fffe957ff26..d68af00d70b 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,7 +25,7 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2022 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 4772,
+      <title>File: 4773,
              Errors: 1747,
              Warnings: 0,
              Infos: 0
@@ -7617,6 +7617,20 @@ under the License.
                 <td>
                   3
                 </td>
+              </tr>
+                          <tr>
+                <td>
+                  <a href="https://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.java">org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.java</a>
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
+                <td>
+                  0
+                </td>
               </tr>
                           <tr>
                 <td>
diff --git a/coc.html b/coc.html
index e86e4033bd3..d14a63c3c63 100644
--- a/coc.html
+++ b/coc.html
@@ -248,7 +248,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 e2f716c04b9..6189f86eea7 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -313,7 +313,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 67ef51dec9d..f12e258e574 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -1013,7 +1013,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 d41bfbc8cc5..a4728288f1d 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -195,7 +195,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 6928938e0f2..eeb07a8d4f9 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -1319,7 +1319,7 @@
         <div class="row">
             <p>Copyright &copy;2007&#x2013;2022
 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
-All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-01</li>
+All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2022-11-03</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 7b97cc25893..5da3c020686 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -2275,6 +2275,8 @@
 <li><a href="org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.html" title="class in org.apache.hadoop.hbase.coprocessor" target="classFrame">ReadOnlyConfiguration</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ReadOnlyZKClient.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">ReadOnlyZKClient</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ReadOnlyZKClient.Task.html" title="class in org.apache.hadoop.hbase.zookeeper" target="classFrame">ReadOnlyZKClient.Task</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">ReadPointCalculationLock</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">ReadPointCalculationLock.LockType</a></li>
 <li><a href="org/apache/hadoop/hbase/master/balancer/ReadRequestCostFunction.html" title="class in org.apache.hadoop.hbase.master.balancer" target="classFrame">ReadRequestCostFunction</a></li>
 <li><a href="org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop" target="classFrame">Record</a></li>
 <li><a href="org/apache/hadoop/hbase/hbtop/Record.Builder.html" title="class in org.apache.hadoop.hbase.hbtop" target="classFrame">Record.Builder</a></li>
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 4064e67211c..40b4f37916d 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -2275,6 +2275,8 @@
 <li><a href="org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.html" title="class in org.apache.hadoop.hbase.coprocessor">ReadOnlyConfiguration</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ReadOnlyZKClient.html" title="class in org.apache.hadoop.hbase.zookeeper">ReadOnlyZKClient</a></li>
 <li><a href="org/apache/hadoop/hbase/zookeeper/ReadOnlyZKClient.Task.html" title="class in org.apache.hadoop.hbase.zookeeper">ReadOnlyZKClient.Task</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></li>
+<li><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></li>
 <li><a href="org/apache/hadoop/hbase/master/balancer/ReadRequestCostFunction.html" title="class in org.apache.hadoop.hbase.master.balancer">ReadRequestCostFunction</a></li>
 <li><a href="org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop">Record</a></li>
 <li><a href="org/apache/hadoop/hbase/hbtop/Record.Builder.html" title="class in org.apache.hadoop.hbase.hbtop">Record.Builder</a></li>
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index dcc7f678c6c..8d4ff0c5add 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -80085,6 +80085,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.html#lock">lock</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MemStoreLABImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreLABImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#lock">lock</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#lock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">lock(ReadPointCalculationLock.LockType)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.html#lock">lock</a></span> - Variable in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityLabelsCache</a></dt>
 <dd>
 <div class="block">This covers the members labels, ordinalVsLabels and userAuths</div>
@@ -80237,6 +80241,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/LockType.html#LockType--">LockType()</a></span> - Constructor for enum org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/LockType.html" title="enum in org.apache.hadoop.hbase.procedure2">LockType</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#LockType--">LockType()</a></span> - Constructor for enum org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/AuthUtil.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/AuthUtil.html" title="class in org.apache.hadoop.hbase">AuthUtil</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -103949,6 +103955,15 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html#READPOINT_ADVANCE_WAIT_TIME">READPOINT_ADVANCE_WAIT_TIME</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock</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">Lock to manage concurrency between <a href="org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionScanner</code></a> and
+ <a href="org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint--"><code>HRegion.getSmallestReadPoint()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#ReadPointCalculationLock-org.apache.hadoop.conf.Configuration-">ReadPointCalculationLock(Configuration)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock.LockType</span></a> - Enum in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/SimpleRpcServer.Listener.html#readPool">readPool</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/SimpleRpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.Listener</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -104188,6 +104203,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#readWriteLock">readWriteLock</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.RowLockContext</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#readWriteLock">readWriteLock</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html#ready">ready</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureEvent.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureEvent</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.ReadyChunk.html#ReadyChunk--">ReadyChunk()</a></span> - Constructor for class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/CompoundBloomFilterWriter.ReadyChunk.html" title="class in org.apache.hadoop.hbase.io.hfile">CompoundBloomFilterWriter.ReadyChunk</a></dt>
@@ -124190,6 +124207,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html#SMALL_HFILE_QUEUE_INIT_SIZE">SMALL_HFILE_QUEUE_INIT_SIZE</a></span> - Static variable in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#smallestReadPointCalcLock">smallestReadPointCalcLock</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html#smallFileDeleteThreadNumber">smallFileDeleteThreadNumber</a></span> - Variable in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html#smallFileQueue">smallFileQueue</a></span> - Variable in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html" title="class in org.apache.hadoop.hbase.master.cleaner">HFileCleaner</a></dt>
@@ -136645,6 +136664,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html#unlock-T-">unlock(T)</a></span> - Method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/MasterQuotaManager.NamedLock.html" title="class in org.apache.hadoop.hbase.quotas">MasterQuotaManager.NamedLock</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#unlock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">unlock(ReadPointCalculationLock.LockType)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/HBaseFsck.html#unlockHbck--">unlockHbck()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/HBaseFsck.html" title="class in org.apache.hadoop.hbase.util">HBaseFsck</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -138981,6 +139002,8 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsUserSourceImpl.html#userDeleteKey">userDeleteKey</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsUserSourceImpl.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsUserSourceImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#useReadWriteLockForReadPoints">useReadWriteLockForReadPoints</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/tool/CanaryTool.Monitor.html#useRegExp">useRegExp</a></span> - Variable in class org.apache.hadoop.hbase.tool.<a href="org/apache/hadoop/hbase/tool/CanaryTool.Monitor.html" title="class in org.apache.hadoop.hbase.tool">CanaryTool.Monitor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html#useRegionFinder">useRegionFinder</a></span> - Variable in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.html" title="class in org.apache.hadoop.hbase.master.balancer">BaseLoadBalancer</a></dt>
@@ -140075,6 +140098,10 @@ service.</div>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Region.Operation.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -141042,6 +141069,11 @@ the order they are declared.</div>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#values--">values()</a></span> - Static method in enum org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/Region.Operation.html#values--">values()</a></span> - Static method in enum org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
diff --git a/devapidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html b/devapidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
index 7f8685d3540..bc3d506c9d0 100644
--- a/devapidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
+++ b/devapidocs/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
@@ -286,7 +286,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase">HConstants.OperationStatusCode</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html#line.646">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase">HConstants.OperationStatusCode</a>[]&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html#line.648">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -306,7 +306,7 @@ for (HConstants.OperationStatusCode c : HConstants.OperationStatusCode.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase">HConstants.OperationStatusCode</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html#line.646">valueOf</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;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase">HConstants.OperationStatusCode</a>&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html#line.648">valueOf</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;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index 29deda3306b..3a5f87675e8 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -166,10 +166,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/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/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.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/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.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 50e91516fd5..e45d9a768a2 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -469,24 +469,24 @@
 <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/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/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/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/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/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/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/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/ServerType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ServerType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/LogQueryFilter.FilterByOperator.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.FilterByOperator</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/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/LogQueryFilter.Type.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.Type</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/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/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/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/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/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/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/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/LogQueryFilter.FilterByOperator.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">LogQueryFilter.FilterByOperator</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/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/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/ServerType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ServerType</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/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
index bd66837bfbe..7d6ca3dda3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
@@ -237,7 +237,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.612">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.614">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -257,7 +257,7 @@ for (RegionObserver.MutationType c : RegionObserver.MutationType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.612">valueOf</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;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.614">valueOf</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;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
index 1578c9ced30..77729296ff4 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/coprocessor/package-tree.html
@@ -176,8 +176,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.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">RegionObserver.MutationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.coprocessor.<a href="../../../../../org/apache/hadoop/hbase/coprocessor/MetaTableMetrics.MetaTableOps.html" title="enum in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">MetaTableMetrics.MetaTableOps</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 a2037271602..fff12cec7c7 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -190,13 +190,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/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/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/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/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/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/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/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/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/terminal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/hbtop/terminal/package-tree.html
index 4546fb99bfb..d55e1f3cd8b 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/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>
+<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>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
index 12c6eaf4422..7fda36963c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/crypto/tls/package-tree.html
@@ -124,8 +124,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.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">X509Util.ClientAuth</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">StandardTypeFileKeyStoreLoader.SupportedStandardKeyFormat</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/X509Util.ClientAuth.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">X509Util.ClientAuth</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.crypto.tls.<a href="../../../../../../../org/apache/hadoop/hbase/io/crypto/tls/KeyStoreFileType.html" title="enum in org.apache.hadoop.hbase.io.crypto.tls"><span class="typeNameLink">KeyStoreFileType</span></a></li>
 </ul>
 </li>
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 0afc5cb159a..15fb787514c 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -320,12 +320,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.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/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/ReaderContext.ReaderType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">ReaderContext.ReaderType</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>
-<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/ReaderContext.ReaderType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">ReaderContext.ReaderType</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 3e9e110098e..9c12a58d2c9 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -368,9 +368,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/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/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 1b9a5a14883..8a38a620c1b 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -300,9 +300,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.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>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">WALPlayer.Counter</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>
+<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/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/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></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 52169c3a73d..dbef7bc2ffd 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/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>
+<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>
 </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 413d7cc24d1..afe57112d75 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -318,11 +318,11 @@
 <ul>
 <li type="circle">java.lang.<a href="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/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/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.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/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/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/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/ServerManager.ServerLiveState.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">ServerManager.ServerLiveState</span></a></li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 994406bafdf..ba230d87134 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -483,22 +483,22 @@
 <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/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/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/ClientMetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClientMetaTableAccessor.QueryType</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/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/MetaRegionLocationCache.ZNodeOpType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaRegionLocationCache.ZNodeOpType</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/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/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/ClientMetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClientMetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</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/MetaRegionLocationCache.ZNodeOpType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaRegionLocationCache.ZNodeOpType</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/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/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/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/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/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/CatalogReplicaMode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CatalogReplicaMode</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/ServerTask.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ServerTask.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</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>
 </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 12cb526abb3..50d5d86146a 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -217,11 +217,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/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/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/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/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/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/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 6178933def1..2e9612f53dc 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/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/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/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/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/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/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/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/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
index da203e695b3..a1fcaba96f7 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
-static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3292">HRegion.BatchOperation.Visitor</a></pre>
+static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3294">HRegion.BatchOperation.Visitor</a></pre>
 <div class="block">Visitor interface for batch operations</div>
 </li>
 </ul>
@@ -155,7 +155,7 @@ static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/region
 <ul class="blockListLast">
 <li class="blockList">
 <h4>visit</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.3297">visit</a>(int&nbsp;index)
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html#line.3299">visit</a>(int&nbsp;index)
        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>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
index c2b3be8010c..7a50aa10155 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3259">HRegion.BatchOperation</a>&lt;T&gt;
+<pre>private abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3261">HRegion.BatchOperation</a>&lt;T&gt;
 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">Class that tracks the progress of a batch operations, accumulating status codes and tracking
  the index at which processing is proceeding. These batch operations may get split into
@@ -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>operations</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3260">operations</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3262">operations</a></pre>
 </li>
 </ul>
 <a name="retCodeDetails">
@@ -445,7 +445,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>retCodeDetails</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3261">retCodeDetails</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3263">retCodeDetails</a></pre>
 </li>
 </ul>
 <a name="walEditsFromCoprocessors">
@@ -454,7 +454,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>walEditsFromCoprocessors</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3262">walEditsFromCoprocessors</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3264">walEditsFromCoprocessors</a></pre>
 </li>
 </ul>
 <a name="familyCellMaps">
@@ -463,7 +463,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>familyCellMaps</h4>
-<pre>protected 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;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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;[] <a href="../../../../../src-html/org/apache/hadoop/hbase [...]
+<pre>protected 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;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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;[] <a href="../../../../../src-html/org/apache/hadoop/hbase [...]
 </li>
 </ul>
 <a name="results">
@@ -472,7 +472,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>results</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3266">results</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3268">results</a></pre>
 </li>
 </ul>
 <a name="region">
@@ -481,7 +481,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <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.BatchOperation.html#line.3268">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.BatchOperation.html#line.3270">region</a></pre>
 </li>
 </ul>
 <a name="nextIndexToProcess">
@@ -490,7 +490,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>nextIndexToProcess</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3269">nextIndexToProcess</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3271">nextIndexToProcess</a></pre>
 </li>
 </ul>
 <a name="observedExceptions">
@@ -499,7 +499,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>observedExceptions</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3270">observedExceptions</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ObservedExceptionsInBatch.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.ObservedExceptionsInBatch</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3272">observedExceptions</a></pre>
 </li>
 </ul>
 <a name="durability">
@@ -508,7 +508,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>durability</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3272">durability</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client">Durability</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3274">durability</a></pre>
 </li>
 </ul>
 <a name="atomic">
@@ -517,7 +517,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>atomic</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3273">atomic</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3275">atomic</a></pre>
 </li>
 </ul>
 </li>
@@ -536,7 +536,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3275">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3277">BatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                       <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="type parameter in HRegion.BatchOperation">T</a>[]&nbsp;operations)</pre>
 </li>
 </ul>
@@ -554,7 +554,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>visitBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3303">visitBatchOperations</a>(boolean&nbsp;pendingOnly,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3305">visitBatchOperations</a>(boolean&nbsp;pendingOnly,
                                  int&nbsp;lastIndexExclusive,
                                  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.Visitor.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation.Visitor</a>&nbsp;visitor)
                           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>
@@ -571,7 +571,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3315">getMutation</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3317">getMutation</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonceGroup-int-">
@@ -580,7 +580,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3317">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3319">getNonceGroup</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getNonce-int-">
@@ -589,7 +589,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3319">getNonce</a>(int&nbsp;index)</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3321">getNonce</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getMutationsForCoprocs--">
@@ -598,7 +598,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3324">getMutationsForCoprocs</a>()</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3326">getMutationsForCoprocs</a>()</pre>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
 </li>
 </ul>
@@ -608,7 +608,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3326">isInReplay</a>()</pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3328">isInReplay</a>()</pre>
 </li>
 </ul>
 <a name="getOrigLogSeqNum--">
@@ -617,7 +617,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3328">getOrigLogSeqNum</a>()</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3330">getOrigLogSeqNum</a>()</pre>
 </li>
 </ul>
 <a name="startRegionOperation--">
@@ -626,7 +626,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3330">startRegionOperation</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3332">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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -640,7 +640,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3332">closeRegionOperation</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3334">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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -654,7 +654,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3341">checkAndPrepare</a>()
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3343">checkAndPrepare</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">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
  CP prePut()/preDelete()/preIncrement()/preAppend() hooks for all mutations in a batch. This
@@ -673,7 +673,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3347">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3349">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&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>
 <div class="block">Implement any Put request specific check and prepare logic here. Please refer to
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-"><code>checkAndPrepareMutation(Mutation, long)</code></a> for how its used.</div>
@@ -689,7 +689,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3353">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
+<pre>public abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3355">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
                                                 long&nbsp;timestamp,
                                                 <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;acquiredRowLocks)
                                          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>
@@ -707,7 +707,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public abstract&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.BatchOperation.html#line.3360">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="c [...]
+<pre>public abstract&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.BatchOperation.html#line.3362">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="c [...]
                                                                                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry,
                                                                                              long&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>
@@ -724,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>writeMiniBatchOperationsToMemStore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3364">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</ [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3366">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</ [...]
                                                   long&nbsp;writeNumber)
                                            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>
@@ -739,7 +739,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3384">isDone</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3386">isDone</a>()</pre>
 </li>
 </ul>
 <a name="size--">
@@ -748,7 +748,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3388">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3390">size</a>()</pre>
 </li>
 </ul>
 <a name="isOperationPending-int-">
@@ -757,7 +757,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isOperationPending</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3392">isOperationPending</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3394">isOperationPending</a>(int&nbsp;index)</pre>
 </li>
 </ul>
 <a name="getClusterIds--">
@@ -766,7 +766,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>getClusterIds</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/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3396">getClusterIds</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="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;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3398">getClusterIds</a>()</pre>
 </li>
 </ul>
 <a name="isAtomic--">
@@ -775,7 +775,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>isAtomic</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3401">isAtomic</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3403">isAtomic</a>()</pre>
 </li>
 </ul>
 <a name="checkAndPrepareMutation-org.apache.hadoop.hbase.client.Mutation-long-">
@@ -784,7 +784,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepareMutation</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3412">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3414">checkAndPrepareMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                        long&nbsp;timestamp)
                                 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">Helper method that checks and prepares only one mutation. This can be used to implement
@@ -804,7 +804,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepareMutation</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3426">checkAndPrepareMutation</a>(int&nbsp;index,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3428">checkAndPrepareMutation</a>(int&nbsp;index,
                                        long&nbsp;timestamp)
                                 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>
@@ -819,7 +819,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>lockRowsAndBuildMiniBatch</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3491">lockRowsAndBuildMiniBatch</a>(<a href="h [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3493">lockRowsAndBuildMiniBatch</a>(<a href="h [...]
                                                                  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">Creates Mini-batch of all operations [nextIndexToProcess, lastIndexExclusive) for which a row
  lock can be acquired. All mutations with locked rows are considered to be In-progress
@@ -839,7 +839,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createMiniBatch</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3575">createMiniBatch</a>(int&nbsp;lastInde [...]
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3577">createMiniBatch</a>(int&nbsp;lastInde [...]
                                                                  int&nbsp;readyToWriteCount)</pre>
 </li>
 </ul>
@@ -849,7 +849,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALEdit</h4>
-<pre>protected&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.BatchOperation.html#line.3581">createWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apa [...]
+<pre>protected&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.BatchOperation.html#line.3583">createWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apa [...]
 </li>
 </ul>
 <a name="buildWALEdits-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-">
@@ -858,7 +858,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>buildWALEdits</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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org [...]
+<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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org [...]
                                            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">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
  present, they are merged to result WALEdit.</div>
@@ -874,7 +874,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>addNonSkipWALMutationsToWALEdit</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3637">addNonSkipWALMutationsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>& [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3639">addNonSkipWALMutationsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>& [...]
                                                <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                                <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;cellsFromCP,
                                                <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
@@ -886,7 +886,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>doAddCellsToWALEdit</h4>
-<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3643">doAddCellsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
+<pre>protected static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3645">doAddCellsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                           <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;cellsFromCP,
                                           <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
 </li>
@@ -897,7 +897,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheSkipWALMutationForRegionReplication</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3649">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.cli [...]
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3651">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.cli [...]
                                                                  <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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/ha [...]
                                                                  <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
 </li>
@@ -908,7 +908,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3657">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbs [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3659">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbs [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  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 method completes mini-batch operations by calling postBatchMutate() CP hook (if
@@ -925,7 +925,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3665">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbs [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3667">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbs [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                         boolean&nbsp;success)
                                  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>
@@ -941,7 +941,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockList">
 <li class="blockList">
 <h4>doFinishHotnessProtector</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3672">doFinishHotnessProtector</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp; [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3674">doFinishHotnessProtector</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp; [...]
 </li>
 </ul>
 <a name="applyFamilyMapToMemStore-java.util.Map-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">
@@ -950,7 +950,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html
 <ul class="blockListLast">
 <li class="blockList">
 <h4>applyFamilyMapToMemStore</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3706">applyFamilyMapToMemStore</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/ha [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#line.3708">applyFamilyMapToMemStore</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/ha [...]
                                         <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">Atomically apply the given map of family->edits to the memstore. This handles the consistency
  control on its own, but the caller should already have locked updatesLock.readLock(). This
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html
index 50105c001f0..8af9d010e3d 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.7148">HRegion.BulkLoadListener</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7150">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>
 </li>
@@ -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.7155">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.7157">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,
                        <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;customStaging)
@@ -197,7 +197,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.7163">doneBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.7165">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>
@@ -216,7 +216,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.7170">failedBulkLoad</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.BulkLoadListener.html#line.7172">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.FlushResult.Result.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
index 206ecfed2fb..c3feb716b99 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2390">HRegion.FlushResult.Result</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2392">HRegion.FlushResult.Result</a>
 extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&gt;</pre>
 </li>
 </ul>
@@ -216,7 +216,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_NO_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2391">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2393">FLUSHED_NO_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="FLUSHED_COMPACTION_NEEDED">
@@ -225,7 +225,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>FLUSHED_COMPACTION_NEEDED</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2392">FLUSHED_COMPACTION_NEEDED</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2394">FLUSHED_COMPACTION_NEEDED</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH_MEMSTORE_EMPTY">
@@ -234,7 +234,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>CANNOT_FLUSH_MEMSTORE_EMPTY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2395">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2397">CANNOT_FLUSH_MEMSTORE_EMPTY</a></pre>
 </li>
 </ul>
 <a name="CANNOT_FLUSH">
@@ -243,7 +243,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CANNOT_FLUSH</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2396">CANNOT_FLUSH</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html#line.2398">CANNOT_FLUSH</a></pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
index 1ae4ed90968..cabbe9c8fc9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.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.2389">HRegion.FlushResult</a></pre>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2391">HRegion.FlushResult</a></pre>
 </li>
 </ul>
 </div>
@@ -186,7 +186,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>getResult</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2400">getResult</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult.Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2402">getResult</a>()</pre>
 <div class="block">Returns the detailed result code</div>
 </li>
 </ul>
@@ -196,7 +196,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockList">
 <li class="blockList">
 <h4>isFlushSucceeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2403">isFlushSucceeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2405">isFlushSucceeded</a>()</pre>
 <div class="block">Returns true if the memstores were flushed, else false</div>
 </li>
 </ul>
@@ -206,7 +206,7 @@ var activeTableTab = "activeTableTab";
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isCompactionNeeded</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2406">isCompactionNeeded</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html#line.2408">isCompactionNeeded</a>()</pre>
 <div class="block">Returns True if the flush requested a compaction, else false</div>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
index 827aef36cfc..7e211e0cfac 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3721">HRegion.MutationBatchOperation</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3723">HRegion.MutationBatchOperation</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</pre>
 <div class="block">Batch of mutation operations. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.ReplayBatchOperation</code></a> as most of
  the logic is same.</div>
@@ -434,7 +434,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>nonceGroup</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3724">nonceGroup</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3726">nonceGroup</a></pre>
 </li>
 </ul>
 <a name="nonce">
@@ -443,7 +443,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>nonce</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3725">nonce</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3727">nonce</a></pre>
 </li>
 </ul>
 <a name="canProceed">
@@ -452,7 +452,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>canProceed</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3726">canProceed</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3728">canProceed</a></pre>
 </li>
 </ul>
 <a name="regionReplicateEnable">
@@ -461,7 +461,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>regionReplicateEnable</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3727">regionReplicateEnable</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3729">regionReplicateEnable</a></pre>
 </li>
 </ul>
 </li>
@@ -478,7 +478,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MutationBatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3729">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3731">MutationBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                               <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;operations,
                               boolean&nbsp;atomic,
                               long&nbsp;nonceGroup,
@@ -499,7 +499,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3739">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3741">getMutation</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutation-int-">getMutation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -512,7 +512,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3744">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3746">getNonceGroup</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonceGroup-int-">getNonceGroup</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -525,7 +525,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3749">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3751">getNonce</a>(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getNonce-int-">getNonce</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -538,7 +538,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3754">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3756">getMutationsForCoprocs</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
 <dl>
@@ -553,7 +553,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3759">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3761">isInReplay</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#isInReplay--">isInReplay</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -566,7 +566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3764">getOrigLogSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3766">getOrigLogSeqNum</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getOrigLogSeqNum--">getOrigLogSeqNum</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</code></dd>
@@ -579,7 +579,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3769">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3771">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>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -595,7 +595,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3774">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3776">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>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -611,7 +611,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3779">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3781">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPreparePut-org.apache.hadoop.hbase.client.Put-">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Implement any Put request specific check and prepare logic here. Please refer to
@@ -630,7 +630,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3784">checkAndPrepare</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3786">checkAndPrepare</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 class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Validates each mutation and prepares a batch for write. If necessary (non-replay case), runs
@@ -652,7 +652,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3840">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>& [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3842">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>& [...]
                                        long&nbsp;timestamp,
                                        <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;acquiredRowLocks)
                                 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>
@@ -673,7 +673,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>startNonceOperation</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3926">startNonceOperation</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3928">startNonceOperation</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">Starts the nonce operation for a mutation, if needed.</div>
 <dl>
@@ -690,7 +690,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>endNonceOperation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3947">endNonceOperation</a>(boolean&nbsp;success)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3949">endNonceOperation</a>(boolean&nbsp;success)</pre>
 <div class="block">Ends nonce operation for a mutation, if needed.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -704,7 +704,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>toGet</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3956">toGet</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.3958">toGet</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>
@@ -718,7 +718,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>reckonDeltas</h4>
-<pre>private&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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regi [...]
+<pre>private&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;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regi [...]
                                             <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;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>
@@ -734,7 +734,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <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.MutationBatchOperation.html#line.4016">reckonDeltasByStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.ht [...]
+<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.MutationBatchOperation.html#line.4018">reckonDeltasByStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.ht [...]
                                        <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                        long&nbsp;now,
                                        <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;deltas,
@@ -763,7 +763,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <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.MutationBatchOperation.html#line.4105">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.MutationBatchOperation.html#line.4107">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,
@@ -782,7 +782,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <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.MutationBatchOperation.html#line.4130">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.MutationBatchOperation.html#line.4132">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>
 <div class="block">Returns Get the long out of the passed in Cell</div>
 <dl>
@@ -797,7 +797,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>buildWALEdits</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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org [...]
+<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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org [...]
                                            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 class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#buildWALEdits-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-">HRegion.BatchOperation</a></code></span></div>
 <div class="block">Builds separate WALEdit per nonce by applying input mutations. If WALEdits from CP are
@@ -816,7 +816,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>cacheSkipWALMutationForRegionReplication</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4156">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.clie [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4158">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.clie [...]
                                                         <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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbas [...]
                                                         <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
 <div class="block">Here is for HBASE-26993,in order to make the new framework for region replication could work
@@ -834,7 +834,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALEditForReplicateSkipWAL</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.MutationBatchOperation.html#line.4179">createWALEditForReplicateSkipWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a hre [...]
+<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.MutationBatchOperation.html#line.4181">createWALEditForReplicateSkipWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a hre [...]
                                                  <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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbase/wal/W [...]
 </li>
 </ul>
@@ -844,7 +844,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>addNonSkipWALMutationsToWALEdit</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4192">addNonSkipWALMutationsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutat [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4194">addNonSkipWALMutationsToWALEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutat [...]
                                                <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                                <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;cellsFromCP,
                                                <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
@@ -860,7 +860,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4213">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="cl [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4215">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="cl [...]
                                                                                     @Nullable
                                                                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry,
                                                                                     long&nbsp;now)
@@ -881,7 +881,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALKey</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4236">createWALKey</a>(long&nbsp;now)</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4238">createWALKey</a>(long&nbsp;now)</pre>
 </li>
 </ul>
 <a name="attachRegionReplicationToMVCCEntry-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-long-">
@@ -890,7 +890,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>attachRegionReplicationToMVCCEntry</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4245">attachRegionReplicationToMVCCEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Muta [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4247">attachRegionReplicationToMVCCEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Muta [...]
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;mvccWriteEntry,
                                                 long&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>
@@ -908,7 +908,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4260">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4262">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  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 class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#completeMiniBatchOperations-org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress-org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl.WriteEntry-">HRegion.BatchOperation</a></code></span></div>
@@ -928,7 +928,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>doPostOpCleanupForMiniBatch</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4279">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4281">doPostOpCleanupForMiniBatch</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a> [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                         boolean&nbsp;success)
                                  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>
@@ -946,7 +946,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>callPreMutateCPHook</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4368">callPreMutateCPHook</a>(int&nbsp;index,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4370">callPreMutateCPHook</a>(int&nbsp;index,
                                  <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
                                  int[]&nbsp;metrics)
                           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>
@@ -966,7 +966,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMergeCPMutations</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4420">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&g [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4422">checkAndMergeCPMutations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&g [...]
                                       <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;acquiredRowLocks,
                                       long&nbsp;timestamp)
                                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>
@@ -982,7 +982,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>mergeFamilyMaps</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4456">mergeFamilyMaps</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/hadoo [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html#line.4458">mergeFamilyMaps</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/hadoo [...]
                              <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;toBeMerged)</pre>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
index db562426cca..44c20a4aa54 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html
@@ -123,7 +123,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <br>
 <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>
-private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4476">HRegion.ReplayBatchOperation</a>
+private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4478">HRegion.ReplayBatchOperation</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitUtil.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitUtil.MutationReplay</a>&gt;</pre>
 <div class="block">Batch of mutations for replay. Base class is shared with <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.MutationBatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegion.MutationBatchOperation</code></a> as most
  of the logic is same.</div>
@@ -344,7 +344,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>origLogSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4478">origLogSeqNum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4480">origLogSeqNum</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -362,7 +362,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ReplayBatchOperation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4480">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4482">ReplayBatchOperation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion</a>&nbsp;region,
                             <a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitUtil.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitUtil.MutationReplay</a>[]&nbsp;operations,
                             long&nbsp;origLogSeqNum)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -382,7 +382,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutation</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4487">getMutation</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4489">getMutation</a>(int&nbsp;index)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -396,7 +396,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonceGroup</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4492">getNonceGroup</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4494">getNonceGroup</a>(int&nbsp;index)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -410,7 +410,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getNonce</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4497">getNonce</a>(int&nbsp;index)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4499">getNonce</a>(int&nbsp;index)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -424,7 +424,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getMutationsForCoprocs</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4502">getMutationsForCoprocs</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4504">getMutationsForCoprocs</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#getMutationsForCoprocs--">HRegion.BatchOperation</a></code></span></div>
 <div class="block">This method is potentially expensive and useful mostly for non-replay CP path.</div>
@@ -440,7 +440,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>isInReplay</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4507">isInReplay</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4509">isInReplay</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -454,7 +454,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>getOrigLogSeqNum</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4512">getOrigLogSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4514">getOrigLogSeqNum</a>()</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -468,7 +468,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>startRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4517">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4519">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="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
@@ -485,7 +485,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionOperation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4522">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4524">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="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
@@ -502,7 +502,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPreparePut</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4531">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;p)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4533">checkAndPreparePut</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">During replay, there could exist column families which are removed between region server
@@ -521,7 +521,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndPrepare</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4552">checkAndPrepare</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4554">checkAndPrepare</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="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.BatchOperation.html#checkAndPrepare--">HRegion.BatchOperation</a></code></span></div>
@@ -544,7 +544,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4561">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4563">prepareMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt [...]
                                        long&nbsp;timestamp,
                                        <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;acquiredRowLocks)
                                 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>
@@ -566,7 +566,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>writeMiniBatchOperationsToMemStore</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4573">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="clas [...]
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4575">writeMiniBatchOperationsToMemStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="clas [...]
                                                                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry,
                                                                                     long&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>
@@ -587,7 +587,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockList">
 <li class="blockList">
 <h4>completeMiniBatchOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4581">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&g [...]
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4583">completeMiniBatchOperations</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&g [...]
                                         <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)
                                  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="deprecatedLabel">Deprecated.</span>&nbsp;</div>
@@ -608,7 +608,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.Bat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cacheSkipWALMutationForRegionReplication</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4589">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client [...]
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.ReplayBatchOperation.html#line.4591">cacheSkipWALMutationForRegionReplication</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client [...]
                                                         <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/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/NonceKey.html" title="class in org.apache.hadoop.hbase.util">NonceKey</a>,<a href="../../../../../org/apache/hadoop/hbas [...]
                                                         <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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyCellMap)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html
index 59c8c9fc025..d748dfc8a7c 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.7022">HRegion.RowLockContext</a>
+<pre>class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7024">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.7023">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.7025">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.7024">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.7026">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.7025">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.7027">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.7026">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.7028">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.7027">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.7029">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.7028">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.7030">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.7030">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.7032">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.7034">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.7036">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.7039">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.7041">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.7044">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.7046">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.7055">cleanUp</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockContext.html#line.7057">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.7068">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.7070">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.7073">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.7075">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 83ec32c26fd..98c29c8fd69 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.7082">HRegion.RowLockImpl</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7084">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.7083">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.7085">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.7084">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.7086">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.7086">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.7088">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.7091">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.7093">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.7095">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.7097">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.7100">release</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html#line.7102">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.7106">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.7108">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 a4108dda504..1cfbd6e8420 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.html
@@ -645,75 +645,79 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#scannerReadPoints">scannerReadPoints</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#smallestReadPointCalcLock">smallestReadPointCalcLock</a></span></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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#SPECIAL_RECOVERED_EDITS_DIR">SPECIAL_RECOVERED_EDITS_DIR</a></span></code>
 <div class="block">This is for for using HRegion as a local storage, where we may put the recovered edits in a
  special place.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr 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/HRegion.html#SPLIT_IGNORE_BLOCKING_ENABLED_KEY">SPLIT_IGNORE_BLOCKING_ENABLED_KEY</a></span></code>
 <div class="block">Config for allow split when file count greater than the configured blocking file count</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#splitPolicy">splitPolicy</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitRestriction.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitRestriction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#splitRestriction">splitRestriction</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/StoreHotnessProtector.html" title="class in org.apache.hadoop.hbase.regionserver.throttle">StoreHotnessProtector</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#storeHotnessProtector">storeHotnessProtector</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <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="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#stores">stores</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#SYSTEM_CACHE_FLUSH_INTERVAL">SYSTEM_CACHE_FLUSH_INTERVAL</a></span></code>
 <div class="block">Default interval for System tables memstore flush</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <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></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#timeoutForWriteLock">timeoutForWriteLock</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#timestampSlop">timestampSlop</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/ReentrantReadWriteLock.html?is-external=true" title="class or interface in java.util.concurrent.locks">ReentrantReadWriteLock</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#updatesLock">updatesLock</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#USE_META_CELL_COMPARATOR">USE_META_CELL_COMPARATOR</a></span></code>
 <div class="block">Whether to use <a href="../../../../../org/apache/hadoop/hbase/MetaCellComparator.html" title="class in org.apache.hadoop.hbase"><code>MetaCellComparator</code></a> even if we are not meta region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#wal">wal</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#WAL_HSYNC_CONF_KEY">WAL_HSYNC_CONF_KEY</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.FileSystem</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#walFS">walFS</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writeRequestsCount">writeRequestsCount</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.WriteState.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.WriteState</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#writestate">writestate</a></span></code>&nbsp;</td>
 </tr>
@@ -3246,13 +3250,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <pre>final&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/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">L [...]
 </li>
 </ul>
+<a name="smallestReadPointCalcLock">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>smallestReadPointCalcLock</h4>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.402">smallestReadPointCalcLock</a></pre>
+</li>
+</ul>
 <a name="openSeqNum">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>openSeqNum</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.406">openSeqNum</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.407">openSeqNum</a></pre>
 <div class="block">The sequence ID that was enLongAddered when this region was opened.</div>
 </li>
 </ul>
@@ -3262,7 +3275,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>isLoadingCfsOnDemandDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.412">isLoadingCfsOnDemandDefault</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.413">isLoadingCfsOnDemandDefault</a></pre>
 <div class="block">The default setting for whether to enable on-demand CF loading for scan requests to this
  region. Requests can override it.</div>
 </li>
@@ -3273,7 +3286,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>majorInProgress</h4>
-<pre>private 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.html#line.414">majorInProgress</a></pre>
+<pre>private 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.html#line.415">majorInProgress</a></pre>
 </li>
 </ul>
 <a name="minorInProgress">
@@ -3282,7 +3295,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>minorInProgress</h4>
-<pre>private 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.html#line.415">minorInProgress</a></pre>
+<pre>private 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.html#line.416">minorInProgress</a></pre>
 </li>
 </ul>
 <a name="maxSeqIdInStores">
@@ -3291,7 +3304,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>maxSeqIdInStores</h4>
-<pre><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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.423">maxSeqIdInStores</a></pre>
+<pre><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; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.424">maxSeqIdInStores</a></pre>
 </li>
 </ul>
 <a name="replayLock">
@@ -3300,7 +3313,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>replayLock</h4>
-<pre>private&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.html#line.427">replayLock</a></pre>
+<pre>private&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.html#line.428">replayLock</a></pre>
 </li>
 </ul>
 <a name="prepareFlushResult">
@@ -3309,7 +3322,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareFlushResult</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.430">prepareFlushResult</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.431">prepareFlushResult</a></pre>
 <div class="block">Saved state from replaying prepare flush cache</div>
 </li>
 </ul>
@@ -3319,7 +3332,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>lastReplayedSequenceId</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.432">lastReplayedSequenceId</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.433">lastReplayedSequenceId</a></pre>
 </li>
 </ul>
 <a name="configurationManager">
@@ -3328,7 +3341,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>configurationManager</h4>
-<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.434">configurationManager</a></pre>
+<pre>private volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.435">configurationManager</a></pre>
 </li>
 </ul>
 <a name="timeoutForWriteLock">
@@ -3337,7 +3350,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>timeoutForWriteLock</h4>
-<pre>private volatile&nbsp;<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.437">timeoutForWriteLock</a></pre>
+<pre>private volatile&nbsp;<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.438">timeoutForWriteLock</a></pre>
 </li>
 </ul>
 <a name="cellComparator">
@@ -3346,7 +3359,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>cellComparator</h4>
-<pre>private 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.html#line.439">cellComparator</a></pre>
+<pre>private 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.html#line.440">cellComparator</a></pre>
 </li>
 </ul>
 <a name="writestate">
@@ -3580,7 +3593,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>closeLock</h4>
-<pre>private final&nbsp;<a href="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.html#line.1540">closeLock</a></pre>
+<pre>private 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.html#line.1542">closeLock</a></pre>
 </li>
 </ul>
 <a name="FAIR_REENTRANT_CLOSE_LOCK">
@@ -3589,7 +3602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>FAIR_REENTRANT_CLOSE_LOCK</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/HRegion.html#line.1543">FAIR_REENTRANT_CLOSE_LOCK</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/HRegion.html#line.1545">FAIR_REENTRANT_CLOSE_LOCK</a></pre>
 <div class="block">Conf key for fair locking policy</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3603,7 +3616,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_FAIR_REENTRANT_CLOSE_LOCK</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1545">DEFAULT_FAIR_REENTRANT_CLOSE_LOCK</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1547">DEFAULT_FAIR_REENTRANT_CLOSE_LOCK</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_FAIR_REENTRANT_CLOSE_LOCK">Constant Field Values</a></dd>
@@ -3616,7 +3629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_PERIODIC_FLUSH_INTERVAL</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/HRegion.html#line.1547">MEMSTORE_PERIODIC_FLUSH_INTERVAL</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/HRegion.html#line.1549">MEMSTORE_PERIODIC_FLUSH_INTERVAL</a></pre>
 <div class="block">Conf key for the periodic flush interval</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3630,7 +3643,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CACHE_FLUSH_INTERVAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1550">DEFAULT_CACHE_FLUSH_INTERVAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1552">DEFAULT_CACHE_FLUSH_INTERVAL</a></pre>
 <div class="block">Default interval for the memstore flush</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3644,7 +3657,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEM_CACHE_FLUSH_INTERVAL</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1552">SYSTEM_CACHE_FLUSH_INTERVAL</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1554">SYSTEM_CACHE_FLUSH_INTERVAL</a></pre>
 <div class="block">Default interval for System tables memstore flush</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3658,7 +3671,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MEMSTORE_FLUSH_PER_CHANGES</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/HRegion.html#line.1555">MEMSTORE_FLUSH_PER_CHANGES</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/HRegion.html#line.1557">MEMSTORE_FLUSH_PER_CHANGES</a></pre>
 <div class="block">Conf key to force a flush if there are already enough changes for one region in memstore</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -3672,7 +3685,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_FLUSH_PER_CHANGES</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1556">DEFAULT_FLUSH_PER_CHANGES</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1558">DEFAULT_FLUSH_PER_CHANGES</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_FLUSH_PER_CHANGES">Constant Field Values</a></dd>
@@ -3685,7 +3698,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_FLUSH_PER_CHANGES</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1561">MAX_FLUSH_PER_CHANGES</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1563">MAX_FLUSH_PER_CHANGES</a></pre>
 <div class="block">The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes
  overhead. Therefore, even 1G empty KVs occupy at least 20GB memstore size for a single region</div>
 <dl>
@@ -3700,7 +3713,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>CLOSE_WAIT_ABORT</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/HRegion.html#line.1563">CLOSE_WAIT_ABORT</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/HRegion.html#line.1565">CLOSE_WAIT_ABORT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.CLOSE_WAIT_ABORT">Constant Field Values</a></dd>
@@ -3713,7 +3726,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CLOSE_WAIT_ABORT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1564">DEFAULT_CLOSE_WAIT_ABORT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1566">DEFAULT_CLOSE_WAIT_ABORT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_CLOSE_WAIT_ABORT">Constant Field Values</a></dd>
@@ -3726,7 +3739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>CLOSE_WAIT_TIME</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/HRegion.html#line.1565">CLOSE_WAIT_TIME</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/HRegion.html#line.1567">CLOSE_WAIT_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.CLOSE_WAIT_TIME">Constant Field Values</a></dd>
@@ -3739,7 +3752,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CLOSE_WAIT_TIME</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1566">DEFAULT_CLOSE_WAIT_TIME</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1568">DEFAULT_CLOSE_WAIT_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_CLOSE_WAIT_TIME">Constant Field Values</a></dd>
@@ -3752,7 +3765,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>CLOSE_WAIT_INTERVAL</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/HRegion.html#line.1567">CLOSE_WAIT_INTERVAL</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/HRegion.html#line.1569">CLOSE_WAIT_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.CLOSE_WAIT_INTERVAL">Constant Field Values</a></dd>
@@ -3765,7 +3778,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_CLOSE_WAIT_INTERVAL</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1568">DEFAULT_CLOSE_WAIT_INTERVAL</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1570">DEFAULT_CLOSE_WAIT_INTERVAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.regionserver.HRegion.DEFAULT_CLOSE_WAIT_INTERVAL">Constant Field Values</a></dd>
@@ -3778,7 +3791,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.8131">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8133">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -3787,7 +3800,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8143">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8146">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 </li>
@@ -3885,7 +3898,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <ul class="blockList">
 <li class="blockList">
 <h4>getSmallestReadPoint</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.445">getSmallestReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.446">getSmallestReadPoint</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The smallest mvcc readPoint across all the scanners in this region. Writes older than
@@ -3899,7 +3912,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <ul class="blockList">
 <li class="blockList">
 <h4>setHTableSpecificConf</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.900">setHTableSpecificConf</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.902">setHTableSpecificConf</a>()</pre>
 </li>
 </ul>
 <a name="initialize--">
@@ -3909,7 +3922,7 @@ public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserve
 <li class="blockList">
 <h4>initialize</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&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.924">initialize</a>()
+public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.926">initialize</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="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use HRegion.createHRegion() or HRegion.openHRegion()</span></div>
 <div class="block">Initialize this region. Used only by tests and SplitTransaction to reopen the region. You
@@ -3928,7 +3941,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.933">initialize</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.935">initialize</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">Initialize this region.</div>
 <dl>
@@ -3947,7 +3960,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeRegionInternals</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.979">initializeRegionInternals</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.981">initializeRegionInternals</a>(<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>
 <dl>
@@ -3962,7 +3975,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeRegionReplicationSink</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1096">initializeRegionReplicationSink</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1098">initializeRegionReplicationSink</a>(<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)</pre>
 </li>
 </ul>
@@ -3972,7 +3985,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeStores</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1121">initializeStores</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1123">initializeStores</a>(<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>
 <div class="block">Open all Stores.</div>
@@ -3990,7 +4003,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeStores</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1126">initializeStores</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1128">initializeStores</a>(<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,
                               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>
@@ -4006,7 +4019,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeWarmup</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1199">initializeWarmup</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1201">initializeWarmup</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>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -4020,7 +4033,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFiles</h4>
-<pre>private&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/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.1211">getStoreFiles</a>()</pre>
+<pre>private&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/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.1213">getStoreFiles</a>()</pre>
 <div class="block">Returns Map of StoreFiles by column family</div>
 </li>
 </ul>
@@ -4030,7 +4043,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionOpenMarker</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1227">writeRegionOpenMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1229">writeRegionOpenMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                      long&nbsp;openSeqId)
                               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>
@@ -4045,7 +4058,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>writeRegionCloseMarker</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1236">writeRegionCloseMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1238">writeRegionCloseMarker</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
                              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>
@@ -4059,7 +4072,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>hasReferences</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1256">hasReferences</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1258">hasReferences</a>()</pre>
 <div class="block">Returns True if this region has references.</div>
 </li>
 </ul>
@@ -4069,7 +4082,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>blockUpdates</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1260">blockUpdates</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1262">blockUpdates</a>()</pre>
 </li>
 </ul>
 <a name="unblockUpdates--">
@@ -4078,7 +4091,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>unblockUpdates</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1264">unblockUpdates</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1266">unblockUpdates</a>()</pre>
 </li>
 </ul>
 <a name="getHDFSBlocksDistribution--">
@@ -4087,7 +4100,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getHDFSBlocksDistribution</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1268">getHDFSBlocksDistribution</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1270">getHDFSBlocksDistribution</a>()</pre>
 </li>
 </ul>
 <a name="computeHDFSBlocksDistribution-org.apache.hadoop.conf.Configuration-org.apache.hadoop.hbase.client.TableDescriptor-org.apache.hadoop.hbase.client.RegionInfo-">
@@ -4096,7 +4109,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>computeHDFSBlocksDistribution</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1283">computeHDFSBlocksDistribution</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1285">computeHDFSBlocksDistribution</a>(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;tableDescriptor,
                                                                    <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
                                                             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>
@@ -4119,7 +4132,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>computeHDFSBlocksDistribution</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1298">computeHDFSBlocksDistribution</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/HDFSBlocksDistribution.html" title="class in org.apache.hadoop.hbase">HDFSBlocksDistribution</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1300">computeHDFSBlocksDistribution</a>(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;tableDescriptor,
                                                                    <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                                                                    org.apache.hadoop.fs.Path&nbsp;tablePath)
@@ -4144,7 +4157,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>incMemStoreSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1333">incMemStoreSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;mss)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1335">incMemStoreSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;mss)</pre>
 <div class="block">Increase the size of mem store in this region and the size of global mem store</div>
 </li>
 </ul>
@@ -4154,7 +4167,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>incMemStoreSize</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1338">incMemStoreSize</a>(long&nbsp;dataSizeDelta,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1340">incMemStoreSize</a>(long&nbsp;dataSizeDelta,
                      long&nbsp;heapSizeDelta,
                      long&nbsp;offHeapSizeDelta,
                      int&nbsp;cellsCountDelta)</pre>
@@ -4166,7 +4179,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>decrMemStoreSize</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1348">decrMemStoreSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;mss)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1350">decrMemStoreSize</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreSize</a>&nbsp;mss)</pre>
 </li>
 </ul>
 <a name="decrMemStoreSize-long-long-long-int-">
@@ -4175,7 +4188,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>decrMemStoreSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1353">decrMemStoreSize</a>(long&nbsp;dataSizeDelta,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1355">decrMemStoreSize</a>(long&nbsp;dataSizeDelta,
                               long&nbsp;heapSizeDelta,
                               long&nbsp;offHeapSizeDelta,
                               int&nbsp;cellsCountDelta)</pre>
@@ -4187,7 +4200,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>checkNegativeMemStoreDataSize</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1363">checkNegativeMemStoreDataSize</a>(long&nbsp;memStoreDataSize,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1365">checkNegativeMemStoreDataSize</a>(long&nbsp;memStoreDataSize,
                                            long&nbsp;delta)</pre>
 </li>
 </ul>
@@ -4197,7 +4210,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <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.html#line.1374">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.html#line.1376">getRegionInfo</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getRegionInfo--">Region</a></code></span></div>
 <div class="block">Returns region information for this region</div>
 <dl>
@@ -4212,7 +4225,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServerServices</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1381">getRegionServerServices</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionServerServices</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1383">getRegionServerServices</a>()</pre>
 <div class="block">Returns Instance of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionServerServices</code></a> used by this HRegion. Can be null.</div>
 </li>
 </ul>
@@ -4222,7 +4235,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1386">getReadRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1388">getReadRequestsCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadRequestsCount--">Region</a></code></span></div>
 <div class="block">Returns read requests count for this region</div>
 <dl>
@@ -4237,7 +4250,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getCpRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1391">getCpRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1393">getCpRequestsCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCpRequestsCount--">Region</a></code></span></div>
 <div class="block">Returns coprocessor requests count for this region</div>
 <dl>
@@ -4252,7 +4265,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilteredReadRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1396">getFilteredReadRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1398">getFilteredReadRequestsCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getFilteredReadRequestsCount--">Region</a></code></span></div>
 <div class="block">Returns filtered read requests count for this region</div>
 <dl>
@@ -4267,7 +4280,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getWriteRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1401">getWriteRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1403">getWriteRequestsCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getWriteRequestsCount--">Region</a></code></span></div>
 <div class="block">Returns write request count for this region</div>
 <dl>
@@ -4282,7 +4295,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreDataSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1406">getMemStoreDataSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1408">getMemStoreDataSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMemStoreDataSize--">getMemStoreDataSize</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>
@@ -4299,7 +4312,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreHeapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1411">getMemStoreHeapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1413">getMemStoreHeapSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMemStoreHeapSize--">getMemStoreHeapSize</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>
@@ -4316,7 +4329,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreOffHeapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1416">getMemStoreOffHeapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1418">getMemStoreOffHeapSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMemStoreOffHeapSize--">getMemStoreOffHeapSize</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>
@@ -4333,7 +4346,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionServicesForStores</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1421">getRegionServicesForStores</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1423">getRegionServicesForStores</a>()</pre>
 <div class="block">Returns store services for this region, to access services required by store level needs</div>
 </li>
 </ul>
@@ -4343,7 +4356,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumMutationsWithoutWAL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1426">getNumMutationsWithoutWAL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1428">getNumMutationsWithoutWAL</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getNumMutationsWithoutWAL--">Region</a></code></span></div>
 <div class="block">Returns the number of mutations processed bypassing the WAL</div>
 <dl>
@@ -4358,7 +4371,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getDataInMemoryWithoutWAL</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1431">getDataInMemoryWithoutWAL</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1433">getDataInMemoryWithoutWAL</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getDataInMemoryWithoutWAL--">Region</a></code></span></div>
 <div class="block">Returns the size of data processed bypassing the WAL, in bytes</div>
 <dl>
@@ -4373,7 +4386,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockedRequestsCount</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1436">getBlockedRequestsCount</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1438">getBlockedRequestsCount</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getBlockedRequestsCount--">Region</a></code></span></div>
 <div class="block">Returns the number of blocked requests</div>
 <dl>
@@ -4388,7 +4401,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksPassed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1441">getCheckAndMutateChecksPassed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1443">getCheckAndMutateChecksPassed</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCheckAndMutateChecksPassed--">Region</a></code></span></div>
 <div class="block">Returns the number of checkAndMutate guards that passed</div>
 <dl>
@@ -4403,7 +4416,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getCheckAndMutateChecksFailed</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1446">getCheckAndMutateChecksFailed</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1448">getCheckAndMutateChecksFailed</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCheckAndMutateChecksFailed--">Region</a></code></span></div>
 <div class="block">Returns the number of failed checkAndMutate guards</div>
 <dl>
@@ -4418,7 +4431,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1453">getMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegion.html" title="class in org.apache.hadoop.hbase.regionserver">MetricsRegion</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1455">getMetrics</a>()</pre>
 </li>
 </ul>
 <a name="isClosed--">
@@ -4427,7 +4440,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isClosed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1458">isClosed</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1460">isClosed</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isClosed--">Region</a></code></span></div>
 <div class="block">Returns true if region is closed</div>
 <dl>
@@ -4442,7 +4455,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isClosing</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1463">isClosing</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1465">isClosing</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isClosing--">Region</a></code></span></div>
 <div class="block">Returns True if closing process has started</div>
 <dl>
@@ -4457,7 +4470,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isReadOnly</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1468">isReadOnly</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1470">isReadOnly</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isReadOnly--">Region</a></code></span></div>
 <div class="block">Returns True if region is read only</div>
 <dl>
@@ -4472,7 +4485,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isAvailable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1473">isAvailable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1475">isAvailable</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isAvailable--">Region</a></code></span></div>
 <div class="block">Returns true if region is available (not closed and not closing)</div>
 <dl>
@@ -4487,7 +4500,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isSplittable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1478">isSplittable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1480">isSplittable</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isSplittable--">Region</a></code></span></div>
 <div class="block">Returns true if region is splittable</div>
 <dl>
@@ -4502,7 +4515,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isMergeable</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1483">isMergeable</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1485">isMergeable</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#isMergeable--">Region</a></code></span></div>
 <div class="block">Returns true if region is mergeable</div>
 <dl>
@@ -4517,7 +4530,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>areWritesEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1496">areWritesEnabled</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1498">areWritesEnabled</a>()</pre>
 </li>
 </ul>
 <a name="getMVCC--">
@@ -4526,7 +4539,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMVCC</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1502">getMVCC</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1504">getMVCC</a>()</pre>
 </li>
 </ul>
 <a name="getMaxFlushedSeqId--">
@@ -4535,7 +4548,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMaxFlushedSeqId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1507">getMaxFlushedSeqId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1509">getMaxFlushedSeqId</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getMaxFlushedSeqId--">getMaxFlushedSeqId</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>
@@ -4551,7 +4564,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <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.1512">getReadPoint</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1514">getReadPoint</a>(<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client">IsolationLevel</a>&nbsp;isolationLevel)</pre>
 <div class="block">Returns readpoint considering given IsolationLevel. Pass <code>null</code> for default</div>
 </li>
 </ul>
@@ -4561,7 +4574,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isLoadingCfsOnDemandDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1520">isLoadingCfsOnDemandDefault</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1522">isLoadingCfsOnDemandDefault</a>()</pre>
 </li>
 </ul>
 <a name="close--">
@@ -4570,7 +4583,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>close</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
+<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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
                                    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">Close down this HRegion. Flush the cache, shut down each HStore, don't service any more calls.
  <p>
@@ -4594,7 +4607,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>close</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
+<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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
                                    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>
@@ -4608,7 +4621,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>close</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
+<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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src- [...]
                                           boolean&nbsp;ignoreStatus)
                                    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">Close down this HRegion. Flush the cache unless abort parameter is true, Shut down each HStore,
@@ -4636,7 +4649,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setClosing</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1612">setClosing</a>(boolean&nbsp;closing)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1614">setClosing</a>(boolean&nbsp;closing)</pre>
 <div class="block">Exposed for some very specific unit tests.</div>
 </li>
 </ul>
@@ -4646,7 +4659,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setTimeoutForWriteLock</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1623">setTimeoutForWriteLock</a>(long&nbsp;timeoutForWriteLock)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1625">setTimeoutForWriteLock</a>(long&nbsp;timeoutForWriteLock)</pre>
 <div class="block">The <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doClose-boolean-org.apache.hadoop.hbase.monitoring.MonitoredTask-"><code>doClose(boolean, org.apache.hadoop.hbase.monitoring.MonitoredTask)</code></a> will block forever if someone tries proving the dead lock via the
  unit test. Instead of blocking, the <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#doClose-boolean-org.apache.hadoop.hbase.monitoring.MonitoredTask-"><code>doClose(boolean, org.apache.hadoop.hbase.monitoring.MonitoredTask)</code></a> will throw exception if you set the
  timeout.</div>
@@ -4663,7 +4676,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doClose</h4>
-<pre>private&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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src [...]
+<pre>private&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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">HStoreFile</a>&gt;&gt;&nbsp;<a href="../../../../../src [...]
                                              <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>
 <dl>
@@ -4678,7 +4691,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForFlushesAndCompactions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1902">waitForFlushesAndCompactions</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1904">waitForFlushesAndCompactions</a>()</pre>
 <div class="block">Wait for all current flushes and compactions of the region to complete</div>
 </li>
 </ul>
@@ -4688,7 +4701,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForFlushes</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1934">waitForFlushes</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1936">waitForFlushes</a>()</pre>
 <div class="block">Wait for all current flushes of the region to complete</div>
 </li>
 </ul>
@@ -4698,7 +4711,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>waitForFlushes</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1939">waitForFlushes</a>(long&nbsp;timeout)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1941">waitForFlushes</a>(long&nbsp;timeout)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#waitForFlushes-long-">Region</a></code></span></div>
 <div class="block">Wait for all current flushes of the region to complete</div>
 <dl>
@@ -4718,7 +4731,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getReadOnlyConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1977">getReadOnlyConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1979">getReadOnlyConfiguration</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getReadOnlyConfiguration--">getReadOnlyConfiguration</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>
@@ -4734,7 +4747,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreOpenAndCloseThreadPool</h4>
-<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1981">getStoreOpenAndCloseThreadPool</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;threa [...]
+<pre>private&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1983">getStoreOpenAndCloseThreadPool</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;threa [...]
 </li>
 </ul>
 <a name="getStoreFileOpenAndCloseThreadPool-java.lang.String-">
@@ -4743,7 +4756,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFileOpenAndCloseThreadPool</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1988">getStoreFileOpenAndCloseThreadPool</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;threadNamePref [...]
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1990">getStoreFileOpenAndCloseThreadPool</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;threadNamePref [...]
 </li>
 </ul>
 <a name="getOpenAndCloseThreadPool-int-java.lang.String-">
@@ -4752,7 +4765,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getOpenAndCloseThreadPool</h4>
-<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1995">getOpenAndCloseThreadPool</a>(int&nbsp;maxThreads,
+<pre>private static&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.1997">getOpenAndCloseThreadPool</a>(int&nbsp;maxThreads,
                                                             <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;threadNamePrefix)</pre>
 </li>
 </ul>
@@ -4762,7 +4775,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>worthPreFlushing</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2009">worthPreFlushing</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2011">worthPreFlushing</a>()</pre>
 <div class="block">Returns True if its worth doing a flush before we put up the close flag.</div>
 </li>
 </ul>
@@ -4772,7 +4785,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getTableDescriptor</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2019">getTableDescriptor</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2021">getTableDescriptor</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getTableDescriptor--">Region</a></code></span></div>
 <div class="block">Returns table descriptor for this region</div>
 <dl>
@@ -4787,7 +4800,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setTableDescriptor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2023">setTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2025">setTableDescriptor</a>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>&nbsp;desc)</pre>
 </li>
 </ul>
 <a name="getWAL--">
@@ -4796,7 +4809,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2028">getWAL</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2030">getWAL</a>()</pre>
 <div class="block">Returns WAL in use for this region</div>
 </li>
 </ul>
@@ -4806,7 +4819,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getBlockCache</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2032">getBlockCache</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2034">getBlockCache</a>()</pre>
 </li>
 </ul>
 <a name="setBlockCache-org.apache.hadoop.hbase.io.hfile.BlockCache-">
@@ -4815,7 +4828,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setBlockCache</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2039">setBlockCache</a>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>&nbsp;blockCache)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2041">setBlockCache</a>(<a href="../../../../../org/apache/hadoop/hbase/io/hfile/BlockCache.html" title="interface in org.apache.hadoop.hbase.io.hfile">BlockCache</a>&nbsp;blockCache)</pre>
 <div class="block">Only used for unit test which doesn't start region server.</div>
 </li>
 </ul>
@@ -4825,7 +4838,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getMobFileCache</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2043">getMobFileCache</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2045">getMobFileCache</a>()</pre>
 </li>
 </ul>
 <a name="setMobFileCache-org.apache.hadoop.hbase.mob.MobFileCache-">
@@ -4834,7 +4847,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setMobFileCache</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2050">setMobFileCache</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>&nbsp;mobFileCache)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2052">setMobFileCache</a>(<a href="../../../../../org/apache/hadoop/hbase/mob/MobFileCache.html" title="class in org.apache.hadoop.hbase.mob">MobFileCache</a>&nbsp;mobFileCache)</pre>
 <div class="block">Only used for unit test which doesn't start region server.</div>
 </li>
 </ul>
@@ -4844,7 +4857,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplitPolicy</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2055">getSplitPolicy</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2057">getSplitPolicy</a>()</pre>
 <div class="block">Returns split policy for this region.</div>
 </li>
 </ul>
@@ -4854,7 +4867,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getBaseConf</h4>
-<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2066">getBaseConf</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2068">getBaseConf</a>()</pre>
 <div class="block">A split takes the config from the parent region & passes it to the daughter region's
  constructor. If 'conf' was passed, you would end up using the HTD of the parent region in
  addition to the new daughter HTD. Pass 'baseConf' to the daughter regions to avoid this tricky
@@ -4871,7 +4884,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getFilesystem</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2071">getFilesystem</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2073">getFilesystem</a>()</pre>
 <div class="block">Returns <code>FileSystem</code> being used by this region</div>
 </li>
 </ul>
@@ -4881,7 +4894,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionFileSystem</h4>
-<pre>public&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.2076">getRegionFileSystem</a>()</pre>
+<pre>public&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.2078">getRegionFileSystem</a>()</pre>
 <div class="block">Returns the <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionFileSystem</code></a> used by this region</div>
 </li>
 </ul>
@@ -4891,7 +4904,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionWALFileSystem</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionWALFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionWALFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2081">getRegionWALFileSystem</a>()
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionWALFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionWALFileSystem</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2083">getRegionWALFileSystem</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">Returns the WAL <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver"><code>HRegionFileSystem</code></a> used by this region</div>
 <dl>
@@ -4906,7 +4919,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getWalFileSystem</h4>
-<pre>org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2087">getWalFileSystem</a>()
+<pre>org.apache.hadoop.fs.FileSystem&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2089">getWalFileSystem</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">Returns the WAL <code>FileSystem</code> being used by this region</div>
 <dl>
@@ -4921,7 +4934,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALRegionDir</h4>
-<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2098">getWALRegionDir</a>()
+<pre>public&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2100">getWALRegionDir</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="returnLabel">Returns:</span></dt>
@@ -4937,7 +4950,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getEarliestFlushTimeForAllStores</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2107">getEarliestFlushTimeForAllStores</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2109">getEarliestFlushTimeForAllStores</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getEarliestFlushTimeForAllStores--">getEarliestFlushTimeForAllStores</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>
@@ -4953,7 +4966,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getOldestHfileTs</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2112">getOldestHfileTs</a>(boolean&nbsp;majorCompactionOnly)
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2114">getOldestHfileTs</a>(boolean&nbsp;majorCompactionOnly)
                       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#getOldestHfileTs-boolean-">Region</a></code></span></div>
 <div class="block">This can be used to determine the last time all files of this region were major compacted.</div>
@@ -4975,7 +4988,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>setCompleteSequenceId</h4>
-<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2140">setCompleteSequenceId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;regionLoadBldr)</pre>
+<pre>org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2142">setCompleteSequenceId</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad.Builder&nbsp;regionLoadBldr)</pre>
 </li>
 </ul>
 <a name="doRegionCompactionPrep--">
@@ -4984,7 +4997,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doRegionCompactionPrep</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2165">doRegionCompactionPrep</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2167">doRegionCompactionPrep</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">Do preparation for pending compaction.</div>
 <dl>
@@ -4999,7 +5012,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2179">compact</a>(boolean&nbsp;majorCompaction)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2181">compact</a>(boolean&nbsp;majorCompaction)
              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">Synchronously compact all stores in the region.
  <p>
@@ -5023,7 +5036,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>compactStores</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2203">compactStores</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2205">compactStores</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 is a helper function that compact all the stores synchronously.
  <p>
@@ -5040,7 +5053,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>compactStore</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2217">compactStore</a>(byte[]&nbsp;family,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2219">compactStore</a>(byte[]&nbsp;family,
                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController)
            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 is a helper function that compact the given store.
@@ -5058,7 +5071,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2235">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2237">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController)
                 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>
@@ -5084,7 +5097,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldForbidMajorCompaction</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2240">shouldForbidMajorCompaction</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2242">shouldForbidMajorCompaction</a>()</pre>
 </li>
 </ul>
 <a name="compact-org.apache.hadoop.hbase.regionserver.compactions.CompactionContext-org.apache.hadoop.hbase.regionserver.HStore-org.apache.hadoop.hbase.regionserver.throttle.ThroughputController-org.apache.hadoop.hbase.security.User-">
@@ -5093,7 +5106,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>compact</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2281">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2283">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a>&nbsp;compaction,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a>&nbsp;throughputController,
                        <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)
@@ -5141,7 +5154,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>flush</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2385">flush</a>(boolean&nbsp;flushAllStores)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2387">flush</a>(boolean&nbsp;flushAllStores)
                           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">Flush the cache.
  <p>
@@ -5171,7 +5184,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>flushcache</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2409">flushcache</a>(boolean&nbsp;flushAllStores,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2411">flushcache</a>(boolean&nbsp;flushAllStores,
                                           boolean&nbsp;writeFlushRequestWalMarker,
                                           <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>
@@ -5187,7 +5200,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>flushcache</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2438">flushcache</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;byte[]&gt;&nbsp;families,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2440">flushcache</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;byte[]&gt;&nbsp;families,
                                           boolean&nbsp;writeFlushRequestWalMarker,
                                           <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>
@@ -5221,7 +5234,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpecificStores</h4>
-<pre>private&nbsp;<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/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.2528">getSpecificStores</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/u [...]
+<pre>private&nbsp;<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/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.2530">getSpecificStores</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/u [...]
 <div class="block">get stores which matches the specified families</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -5235,7 +5248,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldFlushStore</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2543">shouldFlushStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2545">shouldFlushStore</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&nbsp;store)</pre>
 <div class="block">Should the store be flushed because it is old enough.
  <p>
  Every FlushPolicy should call this to determine whether a store is old enough to flush (except
@@ -5249,7 +5262,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldFlush</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2572">shouldFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;whyFlush)</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2574">shouldFlush</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;whyFlush)</pre>
 <div class="block">Should the memstore be flushed now</div>
 </li>
 </ul>
@@ -5259,7 +5272,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>internalFlushcache</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2613">internalFlushcache</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResult.html" title="interface in org.apache.hadoop.hbase.regionserver">HRegion.FlushResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2615">internalFlushcache</a>(<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status)
                                         throws <a href="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">Flushing all stores.</div>
 <dl>
@@ -5276,7 +5289,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>internalFlushcache</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2621">internalFlushcache</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="../../../../../or [...]
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2623">internalFlushcache</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="../../../../../or [...]
                                                    <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                    boolean&nbsp;writeFlushWalMarker,
                                                    <a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushLifeCycleTracker.html" title="interface in org.apache.hadoop.hbase.regionserver">FlushLifeCycleTracker</a>&nbsp;tracker)
@@ -5296,7 +5309,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>internalFlushcache</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2645">internalFlushcache</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2647">internalFlushcache</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                      long&nbsp;myseqid,
                                                      <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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;storesToFlush,
                                                      <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
@@ -5332,7 +5345,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>internalPrepareFlushCache</h4>
-<pre>protected&nbsp;<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.2659">internalPrepareFlushCache</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>protected&nbsp;<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.2661">internalPrepareFlushCache</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                                long&nbsp;myseqid,
                                                                <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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;storesToFlush,
                                                                <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
@@ -5351,7 +5364,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>logFatLineOnFlush</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2798">logFatLineOnFlush</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;storesToFlush,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2800">logFatLineOnFlush</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;storesToFlush,
                                long&nbsp;sequenceId)</pre>
 <div class="block">Utility method broken out of internalPrepareFlushCache so that method is smaller.</div>
 </li>
@@ -5362,7 +5375,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doAbortFlushToWAL</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2823">doAbortFlushToWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2825">doAbortFlushToWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                long&nbsp;flushOpSeqId,
                                <a href="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;committedFiles)</pre>
 </li>
@@ -5373,7 +5386,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>doSyncOfUnflushedWALChanges</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2843">doSyncOfUnflushedWALChanges</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2845">doSyncOfUnflushedWALChanges</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                 <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;hri)
                                          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">Sync unflushed WAL changes. See HBASE-8208 for details</div>
@@ -5389,7 +5402,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>isAllFamilies</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2857">isAllFamilies</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;families)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2859">isAllFamilies</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;families)</pre>
 <div class="block">Returns True if passed Set is all families in the region.</div>
 </li>
 </ul>
@@ -5399,7 +5412,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>writeCanNotFlushMarkerToWAL</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2867">writeCanNotFlushMarkerToWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;flushOpSeqIdMVCCEntry,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2869">writeCanNotFlushMarkerToWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;flushOpSeqIdMVCCEntry,
                                             <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                             boolean&nbsp;writeFlushWalMarker)</pre>
 <div class="block">This method is only used when we flush but the memstore is empty,if writeFlushWalMarker is
@@ -5417,7 +5430,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>attachRegionReplicationToFlushOpSeqIdMVCCEntry</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2901">attachRegionReplicationToFlushOpSeqIdMVCCEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;flushOpSeqIdMVCCEntry,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2903">attachRegionReplicationToFlushOpSeqIdMVCCEntry</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;flushOpSeqIdMVCCEntry,
                                                             org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;desc,
                                                             <a href="../../../../../org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationSink.html" title="class in org.apache.hadoop.hbase.regionserver.regionreplication">RegionReplicationSink</a>&nbsp;sink)</pre>
 <div class="block">Create <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal"><code>WALEdit</code></a> for <code>WALProtos.FlushDescriptor</code> and attach <a href="../../../../../org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationSink.html#add-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.ipc.ServerCall-"><code>RegionReplicationSink.add(org.apache.hadoop. [...]
@@ -5430,7 +5443,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>internalFlushCacheAndCommit</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2917">internalFlushCacheAndCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.FlushResultImpl.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.FlushResultImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.2919">internalFlushCacheAndCommit</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal,
                                                     <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredTask.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredTask</a>&nbsp;status,
                                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.PrepareFlushResult.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.PrepareFlushResult</a>&nbsp;prepareResult,
                                                     <a href="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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;storesToFlush)
@@ -5447,7 +5460,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextSequenceId</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3071">getNextSequenceId</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3073">getNextSequenceId</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)
                           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">Method to safely get the next sequence number.</div>
 <dl>
@@ -5464,7 +5477,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3082">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3084">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan)
                              throws <a href="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#getScanner-org.apache.hadoop.hbase.client.Scan-">Region</a></code></span></div>
 <div class="block">Return an iterator that scans over the HRegion, returning the indicated columns and rows
@@ -5487,7 +5500,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3087">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3089">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                     <a href="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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getScanner-org.apache.hadoop.hbase.client.Scan-java.util.List-">Region</a></code></span></div>
@@ -5514,7 +5527,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3092">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3094">getScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                      <a href="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,
                                      long&nbsp;nonceGroup,
                                      long&nbsp;nonce)
@@ -5531,7 +5544,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>instantiateRegionScanner</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3115">instantiateRegionScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3117">instantiateRegionScanner</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,
                                                      long&nbsp;nonceGroup,
                                                      long&nbsp;nonce)
@@ -5548,7 +5561,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDelete</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3130">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3132">prepareDelete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
                     throws <a href="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">Prepare a delete for a row mutation processor</div>
 <dl>
@@ -5565,7 +5578,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>delete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3148">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3150">delete</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Delete.html" title="class in org.apache.hadoop.hbase.client">Delete</a>&nbsp;delete)
             throws <a href="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#delete-org.apache.hadoop.hbase.client.Delete-">Region</a></code></span></div>
 <div class="block">Deletes the specified cells/row.</div>
@@ -5583,7 +5596,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareDeleteTimestamps</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3167">prepareDeleteTimestamps</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.3169">prepareDeleteTimestamps</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                      <a href="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 in org.apache.hadoop.hbase">Cell</a>&gt;&gt;&nbsp;familyMap,
                                      byte[]&nbsp;byteNow)
                               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>
@@ -5602,7 +5615,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>updateDeleteLatestVersionTimestamp</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3213">updateDeleteLatestVersionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3215">updateDeleteLatestVersionTimestamp</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                                                 <a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.client">Get</a>&nbsp;get,
                                                 int&nbsp;count,
                                                 byte[]&nbsp;byteNow)
@@ -5619,7 +5632,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>put</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3235">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.3237">put</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Put.html" title="class in org.apache.hadoop.hbase.client">Put</a>&nbsp;put)
          throws <a href="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#put-org.apache.hadoop.hbase.client.Put-">Region</a></code></span></div>
 <div class="block">Puts some data in the table.</div>
@@ -5637,7 +5650,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4597">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4599">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
                                      boolean&nbsp;atomic,
                                      long&nbsp;nonceGroup,
                                      long&nbsp;nonce)
@@ -5654,7 +5667,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4608">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4610">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations)
                               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#batchMutate-org.apache.hadoop.hbase.client.Mutation:A-">Region</a></code></span></div>
 <div class="block">Perform a batch of mutations.
@@ -5680,7 +5693,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4615">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4617">batchMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>[]&nbsp;mutations,
                               boolean&nbsp;atomic)
                        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>
@@ -5696,7 +5709,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <li class="blockList">
 <h4>batchReplay</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>
-<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4627">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitUtil.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitUtil.MutationReplay</a>[]&nbsp;mutations,
+<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4629">batchReplay</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitUtil.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitUtil.MutationReplay</a>[]&nbsp;mutations,
                                           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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Now we use
@@ -5714,7 +5727,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>batchMutate</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4670">batchMutate</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4672">batchMutate</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">Perform a batch of mutations.
  <p/>
@@ -5745,7 +5758,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.4705">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.4707">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-"><code>batchMutate(Mutation[])</code></a> In here we
  also handle replay of edits on region recover. Also gets change in size brought about by
@@ -5762,7 +5775,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <ul class="blockList">
 <li class="blockList">
 <h4>getEffectiveDurability</h4>
-<pre>private&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.4821">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>private&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.4823">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>
 </ul>
@@ -5773,7 +5786,7 @@ public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/r
 <li class="blockList">
 <h4>checkAndMutate</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&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4827">checkAndMutate</a>(byte[]&nbsp;row,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4829">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,
@@ -5812,7 +5825,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>checkAndMutate</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&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4849">checkAndMutate</a>(byte[]&nbsp;row,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4851">checkAndMutate</a>(byte[]&nbsp;row,
                                           <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter,
                                           <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;timeRange,
                                           <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation)
@@ -5843,7 +5856,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>checkAndRowMutate</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&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4871">checkAndRowMutate</a>(byte[]&nbsp;row,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4873">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,
@@ -5882,7 +5895,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>checkAndRowMutate</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&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4885">checkAndRowMutate</a>(byte[]&nbsp;row,
+public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4887">checkAndRowMutate</a>(byte[]&nbsp;row,
                                              <a href="../../../../../org/apache/hadoop/hbase/filter/Filter.html" title="class in org.apache.hadoop.hbase.filter">Filter</a>&nbsp;filter,
                                              <a href="../../../../../org/apache/hadoop/hbase/io/TimeRange.html" title="class in org.apache.hadoop.hbase.io">TimeRange</a>&nbsp;timeRange,
                                              <a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm)
@@ -5913,7 +5926,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4898">checkAndMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4900">checkAndMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate)
                                     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#checkAndMutate-org.apache.hadoop.hbase.client.CheckAndMutate-">Region</a></code></span></div>
 <div class="block">Atomically checks if a row matches the conditions and if it does, it performs the actions. Use
@@ -5936,7 +5949,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutate</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4902">checkAndMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4904">checkAndMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate,
                                            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>
@@ -5952,7 +5965,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndMutateInternal</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4908">checkAndMutateInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutateResult.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutateResult</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.4910">checkAndMutateInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/client/CheckAndMutate.html" title="class in org.apache.hadoop.hbase.client">CheckAndMutate</a>&nbsp;checkAndMutate,
                                                     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>
@@ -5968,7 +5981,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5044">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.5046">checkMutationType</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="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -5982,7 +5995,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRow</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5054">checkRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;action,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5056">checkRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>&nbsp;action,
                       byte[]&nbsp;row)
                throws <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html" title="class in org.apache.hadoop.hbase">DoNotRetryIOException</a></pre>
 <dl>
@@ -5997,7 +6010,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5060">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.5062">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>
@@ -6007,7 +6020,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>mutate</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5087">mutate</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5089">mutate</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>
@@ -6021,7 +6034,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>mutate</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5091">mutate</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5093">mutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                boolean&nbsp;atomic)
                         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>
@@ -6036,7 +6049,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>mutate</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5095">mutate</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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5097">mutate</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;mutation,
                                boolean&nbsp;atomic,
                                long&nbsp;nonceGroup,
                                long&nbsp;nonce)
@@ -6053,7 +6066,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5119">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.5121">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
@@ -6076,7 +6089,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5129">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.5131">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>
@@ -6091,7 +6104,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5143">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.5145">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>
@@ -6108,7 +6121,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>rewriteCellTags</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5160">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" titl [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5162">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" titl [...]
                              <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>
@@ -6119,7 +6132,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkResources</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5188">checkResources</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5190">checkResources</a>()
                      throws <a href="../../../../../org/apache/hadoop/hbase/RegionTooBusyException.html" title="class in org.apache.hadoop.hbase">RegionTooBusyException</a></pre>
 <div class="block">Check if resources to support an update.
  <p/>
@@ -6137,7 +6150,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReadOnly</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5218">checkReadOnly</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5220">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>
@@ -6151,7 +6164,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>checkReadsEnabled</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5224">checkReadsEnabled</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5226">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>
@@ -6165,7 +6178,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5231">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5233">setReadsEnabled</a>(boolean&nbsp;readsEnabled)</pre>
 </li>
 </ul>
 <a name="applyToMemStore-org.apache.hadoop.hbase.regionserver.HStore-java.util.List-boolean-org.apache.hadoop.hbase.regionserver.MemStoreSizing-">
@@ -6174,7 +6187,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5243">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.5245">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)</pre>
@@ -6192,7 +6205,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5254">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.5256">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>
@@ -6209,7 +6222,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5261">checkFamily</a>(byte[]&nbsp;family,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5263">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>
@@ -6226,7 +6239,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5274">checkFamily</a>(byte[]&nbsp;family)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5276">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>
@@ -6240,7 +6253,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5285">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.5287">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>
@@ -6258,7 +6271,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5311">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.5313">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="deleteRecoveredEdits-org.apache.hadoop.fs.FileSystem-java.lang.Iterable-">
@@ -6267,7 +6280,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteRecoveredEdits</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5315">deleteRecoveredEdits</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5317">deleteRecoveredEdits</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                   <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;org.apache.hadoop.fs.Path&gt;&nbsp;files)
                            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>
@@ -6282,7 +6295,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>replayRecoveredEditsIfAny</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5352">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>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5354">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>
@@ -6325,7 +6338,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5438">replayRecoveredEditsForPaths</a>(long&nbsp;minSeqIdForTheRegion,
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5440">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,
@@ -6343,7 +6356,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>handleException</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5484">handleException</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5486">handleException</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                              org.apache.hadoop.fs.Path&nbsp;edits,
                              <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;e)
                       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>
@@ -6359,7 +6372,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <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.5507">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.5509">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)
@@ -6383,7 +6396,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALCompactionMarker</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5712">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.5714">replayWALCompactionMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor&nbsp;compaction,
                                boolean&nbsp;pickCompactionFiles,
                                boolean&nbsp;removeFiles,
                                long&nbsp;replaySeqId)
@@ -6403,7 +6416,7 @@ public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbas
 <li class="blockList">
 <h4>replayWALFlushMarker</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>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5776">replayWALFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5778">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Only for keep compatibility for old region
@@ -6420,7 +6433,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoresToFlush</h4>
-<pre>private&nbsp;<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/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.5817">getStoresToFlush</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProto [...]
+<pre>private&nbsp;<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/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.5819">getStoresToFlush</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProto [...]
 </li>
 </ul>
 <a name="replayWALFlushStartMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor-">
@@ -6430,7 +6443,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>replayWALFlushStartMarker</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>
-<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.5841">replayWALFlushStartMarker</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;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5843">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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Only for keep compatibility for old region
              replica implementation.</span></div>
@@ -6450,7 +6463,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>replayWALFlushCommitMarker</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>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5949">replayWALFlushCommitMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush)
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.5951">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Only for keep compatibility for old region
              replica implementation.</span></div>
@@ -6467,7 +6480,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>replayFlushInStores</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>
-private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6071">replayFlushInStores</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
+private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6073">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>
@@ -6487,7 +6500,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>loadRecoveredHFilesIfAny</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6106">loadRecoveredHFilesIfAny</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;stores)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6108">loadRecoveredHFilesIfAny</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/regionserver/HStore.html" title="class in org.apache.hadoop.hbase.regionserver">HStore</a>&gt;&nbsp;stores)
                                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>
@@ -6501,7 +6514,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <ul class="blockList">
 <li class="blockList">
 <h4>dropMemStoreContents</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.6143">dropMemStoreContents</a>()
+<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.6145">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 when replaying recovered.edits while
@@ -6518,7 +6531,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <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.6164">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.6166">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 if
@@ -6535,7 +6548,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <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.6195">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.6197">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>
@@ -6550,7 +6563,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <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.6205">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.6207">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-">
@@ -6559,7 +6572,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <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.6211">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.6213">replayWALFlushCannotFlushMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor&nbsp;flush,
                                              long&nbsp;replaySeqId)</pre>
 </li>
 </ul>
@@ -6569,7 +6582,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <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.6230">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.6232">getPrepareFlushResult</a>()</pre>
 </li>
 </ul>
 <a name="replayWALRegionEventMarker-org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor-">
@@ -6579,7 +6592,7 @@ private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/
 <li class="blockList">
 <h4>replayWALRegionEventMarker</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>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6241">replayWALRegionEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor&nbsp;regionEvent)
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6243">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Only for keep compatibility for old region
              replica implementation.</span></div>
@@ -6596,7 +6609,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <li class="blockList">
 <h4>replayWALBulkLoadEventMarker</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>
-void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6361">replayWALBulkLoadEventMarker</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor&nbsp;bulkLoadEvent)
+void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6363">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>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Since 3.0.0, will be removed in 4.0.0. Only for keep compatibility for old region
              replica implementation.</span></div>
@@ -6612,7 +6625,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALBatchMutate</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6456">replayWALBatchMutate</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" [...]
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6458">replayWALBatchMutate</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" [...]
                            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 batch mutate for secondary replica.
  <p/>
@@ -6637,7 +6650,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALMetaEdit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6476">replayWALMetaEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6478">replayWALMetaEdit</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)
                         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 meta edits, i.e, flush marker, compaction marker, bulk load marker, region event
  marker, etc.
@@ -6658,7 +6671,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>replayWALEntry</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6566">replayWALEntry</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&nbsp;entry,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6568">replayWALEntry</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry&nbsp;entry,
                     <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells)
              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 remote wal entry sent by primary replica.
@@ -6676,7 +6689,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6646">dropPrepareFlushIfPossible</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6648">dropPrepareFlushIfPossible</a>()</pre>
 <div class="block">If all stores ended up dropping their snapshots, we can safely drop the prepareFlushResult</div>
 </li>
 </ul>
@@ -6686,7 +6699,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6673">refreshStoreFiles</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6675">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 been opened yet, and
@@ -6705,7 +6718,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6679">refreshStoreFiles</a>(boolean&nbsp;force)
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6681">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>
@@ -6719,7 +6732,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6770">logRegionFiles</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6772">logRegionFiles</a>()</pre>
 </li>
 </ul>
 <a name="checkTargetRegion-byte:A-java.lang.String-java.lang.Object-">
@@ -6728,7 +6741,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6783">checkTargetRegion</a>(byte[]&nbsp;encodedRegionName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6785">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>
@@ -6746,7 +6759,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6806">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.6808">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>
@@ -6763,7 +6776,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6816">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.6818">isZeroLengthThenDelete</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                               org.apache.hadoop.fs.FileStatus&nbsp;stat,
                                               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>
@@ -6785,7 +6798,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6826">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.6828">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>
@@ -6800,7 +6813,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6840">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.6842">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>
@@ -6819,7 +6832,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6848">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.6850">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>
@@ -6830,7 +6843,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6854">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.6856">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>
@@ -6849,7 +6862,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6859">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.6861">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>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getStoreFileList-byte:A:A-">Region</a></code></span></div>
 <div class="block">Returns list of store file names for the given families</div>
@@ -6867,7 +6880,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>checkRow</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6887">checkRow</a>(byte[]&nbsp;row,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6889">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>
@@ -6883,7 +6896,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6901">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.6903">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>
@@ -6902,7 +6915,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6906">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.6908">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>
@@ -6935,7 +6948,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>createRegionSpan</h4>
-<pre>io.opentelemetry.api.trace.Span&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6911">createRegionSpan</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;name)</pre>
+<pre>io.opentelemetry.api.trace.Span&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.6913">createRegionSpan</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;name)</pre>
 </li>
 </ul>
 <a name="getRowLockInternal-byte:A-boolean-org.apache.hadoop.hbase.regionserver.Region.RowLock-">
@@ -6944,7 +6957,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.6917">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.6919">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>
@@ -6960,7 +6973,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>getRowLock</h4>
-<pre>private&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.6999">getRowLock</a>(byte[]&nbsp;row,
+<pre>private&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.7001">getRowLock</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>
@@ -6976,7 +6989,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7005">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.7007">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--">
@@ -6985,7 +6998,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7014">getReadLockCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7016">getReadLockCount</a>()</pre>
 </li>
 </ul>
 <a name="getLockedRows--">
@@ -6994,7 +7007,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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-">
@@ -7003,7 +7016,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7115">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.7117">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>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -7017,7 +7030,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7139">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.7141">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>
@@ -7041,7 +7054,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7184">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.7186">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,
@@ -7070,7 +7083,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7402">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.7404">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>
@@ -7083,7 +7096,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7408">hashCode</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7410">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>
@@ -7096,7 +7109,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7413">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.7415">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>
@@ -7109,7 +7122,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7435">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.7437">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,
@@ -7143,7 +7156,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7461">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.7463">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,
@@ -7170,7 +7183,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7476">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.7478">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,
@@ -7199,7 +7212,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7495">createHRegion</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.7497">createHRegion</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                     <a href="../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo,
                                     org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                     org.apache.hadoop.fs.Path&nbsp;tableDir,
@@ -7218,7 +7231,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7507">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.7509">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>
@@ -7235,7 +7248,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7516">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.7518">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,
@@ -7253,7 +7266,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7530">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.7532">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)
@@ -7278,7 +7291,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7548">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.7550">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,
@@ -7310,7 +7323,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7565">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.7567">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,
@@ -7339,7 +7352,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7584">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.7586">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,
@@ -7373,7 +7386,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7610">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.7612">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,
@@ -7404,7 +7417,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7631">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.7633">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,
@@ -7440,7 +7453,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegionFromTableDir</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.7654">openHRegionFromTableDir</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.7656">openHRegionFromTableDir</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,
@@ -7476,7 +7489,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7664">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.7666">getReplicationScope</a>()</pre>
 </li>
 </ul>
 <a name="openHRegion-org.apache.hadoop.hbase.regionserver.HRegion-org.apache.hadoop.hbase.util.CancelableProgressable-">
@@ -7485,7 +7498,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7674">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.7676">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>
@@ -7506,7 +7519,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7682">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.7684">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>
@@ -7521,7 +7534,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <ul class="blockList">
 <li class="blockList">
 <h4>openHRegion</h4>
-<pre>private&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.7693">openHRegion</a>(<a href="../../../../../org/apache/hadoop/hbase/util/CancelableProgressable.html" title="interface in org.apache.hadoop.hbase.util">CancelableProgressable</a>&nbsp;reporter)
+<pre>private&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.7695">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.
  <p/>
@@ -7540,7 +7553,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7743">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.7745">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,
@@ -7567,7 +7580,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7757">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.7759">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,
@@ -7587,7 +7600,7 @@ void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/
 <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.7784">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.7786">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>
@@ -7606,7 +7619,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.7794">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.7796">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>
 <dl>
@@ -7624,7 +7637,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.7799">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.7801">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>
@@ -7636,7 +7649,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.7810">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.7812">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>
@@ -7658,7 +7671,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.7817">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.7819">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>
@@ -7672,7 +7685,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.7832">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.7834">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>
@@ -7696,7 +7709,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.7836">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clie [...]
+<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.7838">get</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hbase.clie [...]
                        boolean&nbsp;withCoprocessor,
                        long&nbsp;nonceGroup,
                        long&nbsp;nonce)
@@ -7713,7 +7726,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getInternal</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.7842">getInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hb [...]
+<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.7844">getInternal</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Get.html" title="class in org.apache.hadoop.hb [...]
                                boolean&nbsp;withCoprocessor,
                                long&nbsp;nonceGroup,
                                long&nbsp;nonce)
@@ -7730,7 +7743,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.7879">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.7881">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>
@@ -7740,7 +7753,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;<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.7890">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;<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.7892">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.</div>
@@ -7763,7 +7776,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;<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.7894">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;<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.7896">mutateRow</a>(<a href="../../../../../org/apache/hadoop/hbase/client/RowMutations.html" title="class in org.apache.hadoop.hbase.client">RowMutations</a>&nbsp;rm,
                         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>
@@ -7779,7 +7792,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.7931">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.7933">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)
@@ -7808,7 +7821,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.7958">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.7960">getLoadStatistics</a>()</pre>
 <div class="block">Returns statistics about the current load of the region</div>
 </li>
 </ul>
@@ -7818,7 +7831,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.7982">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.7984">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>
@@ -7838,7 +7851,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.7986">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.7988">append</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client">Append</a>&nbsp;append,
                      long&nbsp;nonceGroup,
                      long&nbsp;nonce)
               throws <a href="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>
@@ -7854,7 +7867,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.8001">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.8003">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>
@@ -7874,7 +7887,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.8005">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.8007">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a>&nbsp;increment,
                         long&nbsp;nonceGroup,
                         long&nbsp;nonce)
                  throws <a href="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>
@@ -7890,7 +7903,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>createWALKeyForWALAppend</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8019">createWALKeyForWALAppend</a>(boolean&nbsp;isReplay,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8021">createWALKeyForWALAppend</a>(boolean&nbsp;isReplay,
                                             <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,
                                             long&nbsp;now,
                                             long&nbsp;nonceGroup,
@@ -7903,7 +7916,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.8035">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.8037">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/regionserver/HRegion.BatchOperation.html" title="class in org.apache.hadoop.hbase.regionserver">HRegion.BatchOperation</a>&lt;?&gt;&nbsp;batchOp,
                                                               <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                               long&nbsp;now,
@@ -7922,7 +7935,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>attachRegionReplicationInWALAppend</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8090">attachRegionReplicationInWALAppend</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.8092">attachRegionReplicationInWALAppend</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,
                                                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.html" title="class in org.apache.hadoop.hbase.regionserver">MiniBatchOperationInProgress</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;&nbsp;miniBatchOp,
                                                 <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;walKey,
                                                 <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a>&nbsp;walEdit,
@@ -7937,7 +7950,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>doAttachReplicateRegionReplicaAction</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8120">doAttachReplicateRegionReplicaAction</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;walKey,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8122">doAttachReplicateRegionReplicaAction</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a>&nbsp;walKey,
                                                   <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/regionserver/MultiVersionConcurrencyControl.WriteEntry.html" title="class in org.apache.hadoop.hbase.regionserver">MultiVersionConcurrencyControl.WriteEntry</a>&nbsp;writeEntry)</pre>
 <div class="block">Attach <a href="../../../../../org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationSink.html#add-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.ipc.ServerCall-"><code>RegionReplicationSink.add(org.apache.hadoop.hbase.wal.WALKeyImpl, org.apache.hadoop.hbase.wal.WALEdit, org.apache.hadoop.hbase.ipc.ServerCall&lt;?&gt;)</code></a> to the mvcc writeEntry for replicating to region
@@ -7950,7 +7963,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.8158">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8161">heapSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/io/HeapSize.html#heapSize--">HeapSize</a></code></span></div>
 <div class="block">Return the approximate 'exclusive deep size' of implementing object. Includes count of payload
  and hosting object sizings.</div>
@@ -7966,7 +7979,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.8173">registerService</a>(org.apache.hbase.thirdparty.com.google.protobuf.Service&nbsp;instance)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8176">registerService</a>(org.apache.hbase.thirdparty.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 <code>#execService(RpcController, CoprocessorServiceCall)</code> calls.
  <p/>
@@ -7987,7 +8000,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;org.apache.hbase.thirdparty.com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8203">execService</a>(org.apache.hbase.thirdparty.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hbase.thirdparty.com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8206">execService</a>(org.apache.hbase.thirdparty.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 the
@@ -8014,7 +8027,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;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8249">checkSplit</a>()</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8252">checkSplit</a>()</pre>
 </li>
 </ul>
 <a name="checkSplit-boolean-">
@@ -8023,7 +8036,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;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8256">checkSplit</a>(boolean&nbsp;force)</pre>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;byte[]&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8259">checkSplit</a>(boolean&nbsp;force)</pre>
 <div class="block">Return the split point. An empty result indicates the region isn't splittable.</div>
 </li>
 </ul>
@@ -8033,7 +8046,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.8290">getCompactPriority</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8293">getCompactPriority</a>()</pre>
 <div class="block">Returns The priority that this region should have in the compaction queue</div>
 </li>
 </ul>
@@ -8043,7 +8056,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.8300">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.8303">getCoprocessorHost</a>()</pre>
 <div class="block">Returns the coprocessor host</div>
 </li>
 </ul>
@@ -8053,7 +8066,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.8305">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.8308">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>
@@ -8066,7 +8079,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.8310">startRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8313">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 modifies data. Acquires a
@@ -8088,7 +8101,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.8315">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.8318">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 modifies data. Acquires a
@@ -8112,7 +8125,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.8377">closeRegionOperation</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8380">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>
@@ -8130,7 +8143,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.8382">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.8385">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 to
@@ -8149,7 +8162,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.8402">startBulkRegionOperation</a>(boolean&nbsp;writeLockNeeded)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8405">startBulkRegionOperation</a>(boolean&nbsp;writeLockNeeded)
                                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 method needs to be called before any public call that reads or modifies stores in bulk. It
  has to be called just before a try. #closeBulkRegionOperation needs to be called in the try's
@@ -8169,7 +8182,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.8420">closeBulkRegionOperation</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8423">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>
@@ -8180,7 +8193,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.8430">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.8433">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>
@@ -8191,7 +8204,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.8452">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.8455">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="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>
@@ -8205,7 +8218,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.8460">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.8463">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="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">Try to acquire a lock. Throw RegionTooBusyException if failed to get the lock in time. Throw
@@ -8222,7 +8235,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.8492">sync</a>(long&nbsp;txid,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8495">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>
@@ -8240,7 +8253,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.8524">shouldSyncWAL</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8527">shouldSyncWAL</a>()</pre>
 <div class="block">Check whether we should sync the wal from the table's durability settings</div>
 </li>
 </ul>
@@ -8250,7 +8263,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.8529">getOpenSeqNum</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8532">getOpenSeqNum</a>()</pre>
 <div class="block">Returns the latest sequence number that was read from storage when this region was opened</div>
 </li>
 </ul>
@@ -8260,7 +8273,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.8534">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.8537">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>
@@ -8276,7 +8289,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.8538">getOldestSeqIdOfStore</a>(byte[]&nbsp;familyName)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8541">getOldestSeqIdOfStore</a>(byte[]&nbsp;familyName)</pre>
 </li>
 </ul>
 <a name="getCompactionState--">
@@ -8285,7 +8298,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.8543">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.8546">getCompactionState</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#getCompactionState--">Region</a></code></span></div>
 <div class="block">Returns if a given region is in compaction now.</div>
 <dl>
@@ -8300,7 +8313,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.8550">reportCompactionRequestStart</a>(boolean&nbsp;isMajor)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8553">reportCompactionRequestStart</a>(boolean&nbsp;isMajor)</pre>
 </li>
 </ul>
 <a name="reportCompactionRequestEnd-boolean-int-long-">
@@ -8309,7 +8322,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.8554">reportCompactionRequestEnd</a>(boolean&nbsp;isMajor,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8557">reportCompactionRequestEnd</a>(boolean&nbsp;isMajor,
                                        int&nbsp;numFiles,
                                        long&nbsp;filesSizeCompacted)</pre>
 </li>
@@ -8320,7 +8333,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.8565">reportCompactionRequestFailure</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8568">reportCompactionRequestFailure</a>()</pre>
 </li>
 </ul>
 <a name="incrementCompactionsQueuedCount--">
@@ -8329,7 +8342,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.8569">incrementCompactionsQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8572">incrementCompactionsQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="decrementCompactionsQueuedCount--">
@@ -8338,7 +8351,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.8573">decrementCompactionsQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8576">decrementCompactionsQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="incrementFlushesQueuedCount--">
@@ -8347,7 +8360,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.8577">incrementFlushesQueuedCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8580">incrementFlushesQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="decrementFlushesQueuedCount--">
@@ -8356,7 +8369,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>decrementFlushesQueuedCount</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8581">decrementFlushesQueuedCount</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8584">decrementFlushesQueuedCount</a>()</pre>
 </li>
 </ul>
 <a name="disableInterrupts--">
@@ -8365,7 +8378,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>disableInterrupts</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8589">disableInterrupts</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8592">disableInterrupts</a>()</pre>
 <div class="block">If a handler thread is eligible for interrupt, make it ineligible. Should be paired with
  {<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#enableInterrupts--"><code>enableInterrupts()</code></a>.</div>
 </li>
@@ -8376,7 +8389,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>enableInterrupts</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8597">enableInterrupts</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8600">enableInterrupts</a>()</pre>
 <div class="block">If a handler thread was made ineligible for interrupt via {<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#disableInterrupts--"><code>disableInterrupts()</code></a>, make
  it eligible again. No-op if interrupts are already enabled.</div>
 </li>
@@ -8387,7 +8400,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>interruptRegionOperations</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8606">interruptRegionOperations</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8609">interruptRegionOperations</a>()</pre>
 <div class="block">Interrupt any region options that have acquired the region lock via
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#startRegionOperation-org.apache.hadoop.hbase.regionserver.Region.Operation-"><code>startRegionOperation(org.apache.hadoop.hbase.regionserver.Region.Operation)</code></a>, or
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#startBulkRegionOperation-boolean-"><code>startBulkRegionOperation(boolean)</code></a>.</div>
@@ -8399,7 +8412,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>checkInterrupt</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8622">checkInterrupt</a>()
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8625">checkInterrupt</a>()
              throws <a href="../../../../../org/apache/hadoop/hbase/NotServingRegionException.html" title="class in org.apache.hadoop.hbase">NotServingRegionException</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>
 <div class="block">Check thread interrupt status and throw an exception if interrupted.</div>
@@ -8416,7 +8429,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>throwOnInterrupt</h4>
-<pre><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.html#line.8637">throwOnInterrupt</a>(<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>
+<pre><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.html#line.8640">throwOnInterrupt</a>(<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>
 <div class="block">Throw the correct exception upon interrupt</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -8430,7 +8443,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.8649">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.8652">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>
@@ -8445,7 +8458,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.8667">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.8670">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>
@@ -8461,7 +8474,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.8676">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.8679">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>
@@ -8477,7 +8490,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.8681">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.8684">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>
@@ -8492,7 +8505,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.8685">getMemStoreFlushSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8688">getMemStoreFlushSize</a>()</pre>
 </li>
 </ul>
 <a name="throwException-java.lang.String-java.lang.String-">
@@ -8501,7 +8514,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.8690">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.8693">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>
@@ -8511,7 +8524,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.8711">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.8714">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)
@@ -8532,7 +8545,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.8721">requestCompaction</a>(byte[]&nbsp;family,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8724">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,
@@ -8554,7 +8567,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.8735">requestFlushIfNeeded</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8738">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>
@@ -8568,7 +8581,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.8741">requestFlush</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8744">requestFlush</a>()</pre>
 </li>
 </ul>
 <a name="requestFlush0-org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker-">
@@ -8577,7 +8590,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.8748">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.8751">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-">
@@ -8586,7 +8599,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.8768">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.8771">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>
@@ -8604,7 +8617,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>decorateRegionConfiguration</h4>
-<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8776">decorateRegionConfiguration</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8779">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>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -8618,7 +8631,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionReplicationSink</h4>
-<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationSink.html" title="class in org.apache.hadoop.hbase.regionserver.regionreplication">RegionReplicationSink</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8787">getRegionReplicati [...]
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/regionreplication/RegionReplicationSink.html" title="class in org.apache.hadoop.hbase.regionserver.regionreplication">RegionReplicationSink</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8790">getRegionReplicati [...]
 </li>
 </ul>
 <a name="addReadRequestsCount-long-">
@@ -8627,7 +8640,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>addReadRequestsCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8791">addReadRequestsCount</a>(long&nbsp;readRequestsCount)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8794">addReadRequestsCount</a>(long&nbsp;readRequestsCount)</pre>
 </li>
 </ul>
 <a name="addWriteRequestsCount-long-">
@@ -8636,7 +8649,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockList">
 <li class="blockList">
 <h4>addWriteRequestsCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8795">addWriteRequestsCount</a>(long&nbsp;writeRequestsCount)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8798">addWriteRequestsCount</a>(long&nbsp;writeRequestsCount)</pre>
 </li>
 </ul>
 <a name="isReadsEnabled--">
@@ -8645,7 +8658,7 @@ public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isReadsEnabled</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8801">isReadsEnabled</a>()</pre>
+<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.8804">isReadsEnabled</a>()</pre>
 </li>
 </ul>
 </li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/OperationStatus.html b/devapidocs/org/apache/hadoop/hbase/regionserver/OperationStatus.html
index daa1919c5ef..0baf000156f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/OperationStatus.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/OperationStatus.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/OnlineRegions.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/Region.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/ReadPointCalculationLock.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/OperationStatus.html" target="_top">Frames</a></li>
@@ -431,7 +431,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/OnlineRegions.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/Region.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/ReadPointCalculationLock.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/OperationStatus.html" target="_top">Frames</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html
similarity index 72%
copy from devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
copy to devapidocs/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html
index bd66837bfbe..29aff157e65 100644
--- a/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>RegionObserver.MutationType (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)</title>
+<title>ReadPointCalculationLock.LockType (Apache HBase 3.0.0-alpha-4-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="RegionObserver.MutationType (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
+            parent.document.title="ReadPointCalculationLock.LockType (Apache HBase 3.0.0-alpha-4-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/RegionObserver.MutationType.html">Use</a></li>
+<li><a href="class-use/ReadPointCalculationLock.LockType.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/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.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/Region.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/coprocessor/RegionObserver.MutationType.html" target="_top">Frames</a></li>
-<li><a href="RegionObserver.MutationType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.LockType.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>
@@ -92,18 +92,18 @@ var activeTableTab = "activeTableTab";
 <!-- ========= END OF TOP NAVBAR ========= -->
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.coprocessor</div>
-<h2 title="Enum RegionObserver.MutationType" class="title">Enum RegionObserver.MutationType</h2>
+<div class="subTitle">org.apache.hadoop.hbase.regionserver</div>
+<h2 title="Enum ReadPointCalculationLock.LockType" class="title">Enum ReadPointCalculationLock.LockType</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><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&gt;</li>
+<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&gt;</li>
 <li>
 <ul class="inheritance">
-<li>org.apache.hadoop.hbase.coprocessor.RegionObserver.MutationType</li>
+<li>org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType</li>
 </ul>
 </li>
 </ul>
@@ -114,17 +114,16 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <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;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&gt;</dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <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;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockT [...]
 </dl>
 <dl>
-<dt>Enclosing interface:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor">RegionObserver</a></dd>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#line.105">RegionObserver.MutationType</a>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&gt;</pre>
-<div class="block">Mutation type for postMutationBeforeWAL hook</div>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.44">ReadPointCalculationLock.LockType</a>
+extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&gt;</pre>
 </li>
 </ul>
 </div>
@@ -143,10 +142,10 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?i
 <th class="colOne" scope="col">Enum Constant and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#APPEND">APPEND</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#CALCULATION_LOCK">CALCULATION_LOCK</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#INCREMENT">INCREMENT</a></span></code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#RECORDING_LOCK">RECORDING_LOCK</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -164,14 +163,14 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?i
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#valueOf-java.lang.String-">valueOf</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;name)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#valueOf-java.lang.String-">valueOf</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;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#values--">values</a></span>()</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </td>
@@ -205,22 +204,22 @@ the order they are declared.</div>
 <!--   -->
 </a>
 <h3>Enum Constant Detail</h3>
-<a name="APPEND">
+<a name="CALCULATION_LOCK">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>APPEND</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.106">APPEND</a></pre>
+<h4>CALCULATION_LOCK</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#line.45">CALCULATION_LOCK</a></pre>
 </li>
 </ul>
-<a name="INCREMENT">
+<a name="RECORDING_LOCK">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>INCREMENT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.107">INCREMENT</a></pre>
+<h4>RECORDING_LOCK</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#line.46">RECORDING_LOCK</a></pre>
 </li>
 </ul>
 </li>
@@ -237,12 +236,12 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.612">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#line.90">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
 <pre>
-for (RegionObserver.MutationType c : RegionObserver.MutationType.values())
+for (ReadPointCalculationLock.LockType c : ReadPointCalculationLock.LockType.values())
 &nbsp;   System.out.println(c);
 </pre></div>
 <dl>
@@ -257,7 +256,7 @@ for (RegionObserver.MutationType c : RegionObserver.MutationType.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html" title="enum in org.apache.hadoop.hbase.coprocessor">RegionObserver.MutationType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/coprocessor/RegionObserver.MutationType.html#line.612">valueOf</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;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#line.90">valueOf</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> [...]
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -292,7 +291,7 @@ not permitted.)</div>
 <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/RegionObserver.MutationType.html">Use</a></li>
+<li><a href="class-use/ReadPointCalculationLock.LockType.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>
@@ -301,12 +300,12 @@ not permitted.)</div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionObserver.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessor.html" title="interface in org.apache.hadoop.hbase.coprocessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.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/Region.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/coprocessor/RegionObserver.MutationType.html" target="_top">Frames</a></li>
-<li><a href="RegionObserver.MutationType.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.LockType.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/ReadPointCalculationLock.html
similarity index 55%
copy from devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
copy to devapidocs/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html
index 83ec32c26fd..f22ead540cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/HRegion.RowLockImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.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-alpha-4-SNAPSHOT API)</title>
+<title>ReadPointCalculationLock (Apache HBase 3.0.0-alpha-4-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.RowLockImpl (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
+            parent.document.title="ReadPointCalculationLock (Apache HBase 3.0.0-alpha-4-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var methods = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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.RowLockImpl.html">Use</a></li>
+<li><a href="class-use/ReadPointCalculationLock.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/OperationStatus.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/ReadPointCalculationLock.LockType.html" title="enum 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/ReadPointCalculationLock.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.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>
@@ -74,7 +74,7 @@ var activeTableTab = "activeTableTab";
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -93,40 +93,62 @@ 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 ReadPointCalculationLock" class="title">Class ReadPointCalculationLock</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.ReadPointCalculationLock</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/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>
-</dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/HRegion.html#line.7082">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>@InterfaceAudience.Private
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.42">ReadPointCalculationLock</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">Lock to manage concurrency between <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionScanner</code></a> and
+ <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint--"><code>HRegion.getSmallestReadPoint()</code></a>. We need to ensure that while we are calculating the
+ smallest read point, no new scanners can modify the scannerReadPoints Map. We used to achieve
+ this by synchronizing on the scannerReadPoints object. But this may block the read thread and
+ reduce the read performance. Since the scannerReadPoints object is a
+ <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"><code>ConcurrentHashMap</code></a>, which is thread-safe, so the
+ <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionScanner</code></a> can record their read points concurrently, what it needs to do is just
+ acquiring a shared lock. When we calculate the smallest read point, we need to acquire an
+ exclusive lock. This can improve read performance in most scenarios, only not when we have a lot
+ of delta operations, like <a href="../../../../../org/apache/hadoop/hbase/client/Append.html" title="class in org.apache.hadoop.hbase.client"><code>Append</code></a> or
+ <a href="../../../../../org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client"><code>Increment</code></a>. So we introduce a flag to enable/disable this
+ feature.</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>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field.summary">
@@ -140,12 +162,16 @@ 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>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/ReadPointCalculationLock.html#lock">lock</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>private <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></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#readWriteLock">readWriteLock</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#useReadWriteLockForReadPoints">useReadWriteLockForReadPoints</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -162,8 +188,7 @@ 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/ReadPointCalculationLock.html#ReadPointCalculationLock-org.apache.hadoop.conf.Configuration-">ReadPointCalculationLock</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -181,22 +206,12 @@ 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>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#lock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">lock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;lockType)</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>
-</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>
-</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>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#unlock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">unlock</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;lockType)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -204,7 +219,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 +235,31 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="context">
+<a name="useReadWriteLockForReadPoints">
 <!--   -->
 </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.7083">context</a></pre>
+<h4>useReadWriteLockForReadPoints</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.49">useReadWriteLockForReadPoints</a></pre>
 </li>
 </ul>
 <a name="lock">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <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.7084">lock</a></pre>
+<pre>private&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/ReadPointCalculationLock.html#line.50">lock</a></pre>
+</li>
+</ul>
+<a name="readWriteLock">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readWriteLock</h4>
+<pre>private&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/ReadPointCalculationLock.html#line.51">readWriteLock</a></pre>
 </li>
 </ul>
 </li>
@@ -246,14 +270,13 @@ 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="ReadPointCalculationLock-org.apache.hadoop.conf.Configuration-">
 <!--   -->
 </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.7086">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>ReadPointCalculationLock</h4>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.53">ReadPointCalculationLock</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 </li>
@@ -264,51 +287,22 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getLock--">
+<a name="lock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">
 <!--   -->
 </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.7091">getLock</a>()</pre>
-</li>
-</ul>
-<a name="getContext--">
-<!--   -->
-</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.7095">getContext</a>()</pre>
-</li>
-</ul>
-<a name="release--">
-<!--   -->
-</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.7100">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>lock</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.63">lock</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;lockType)</pre>
 </li>
 </ul>
-<a name="toString--">
+<a name="unlock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">
 <!--   -->
 </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.7106">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>unlock</h4>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#line.77">unlock</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;lockType)</pre>
 </li>
 </ul>
 </li>
@@ -330,7 +324,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/ReadPointCalculationLock.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 +333,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/OperationStatus.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/ReadPointCalculationLock.LockType.html" title="enum 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/ReadPointCalculationLock.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.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>
@@ -364,7 +358,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.R
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
index af18ebef3dd..4a9562e6f3c 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Region.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -1663,7 +1663,7 @@ boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserv
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum 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/RegionScannerImpl.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html
index 4928dcb3381..9f7463b2880 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html
@@ -617,7 +617,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <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/RegionScannerImpl.html#line.680">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/RegionScannerImpl.html#line.683">MOCKED_LIST</a></pre>
 <div class="block">A mocked list implementation - discards all updates.</div>
 </li>
 </ul>
@@ -686,7 +686,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>initializeScanners</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.146">initializeScanners</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.149">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>
@@ -701,7 +701,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/RegionScannerImpl.html#line.180">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/RegionScannerImpl.html#line.183">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>
@@ -717,7 +717,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/RegionScannerImpl.html#line.188">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/regionser [...]
+<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/RegionScannerImpl.html#line.191">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/regionser [...]
                                     <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>
@@ -727,7 +727,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/RegionScannerImpl.html#line.208">getMaxResultSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.211">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>
@@ -743,7 +743,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/RegionScannerImpl.html#line.213">getMvccReadPoint</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.216">getMvccReadPoint</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getMvccReadPoint--">RegionScanner</a></code></span></div>
 <div class="block">Returns The Scanner's MVCC readPt see <a href="../../../../../org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.html" title="class in org.apache.hadoop.hbase.regionserver"><code>MultiVersionConcurrencyControl</code></a></div>
 <dl>
@@ -758,7 +758,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/RegionScannerImpl.html#line.218">getBatch</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.221">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>
@@ -774,7 +774,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>getOperationId</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/RegionScannerImpl.html#line.223">getOperationId</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/RegionScannerImpl.html#line.226">getOperationId</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html#getOperationId--">getOperationId</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>
@@ -790,7 +790,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>resetFilters</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.231">resetFilters</a>()
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.234">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>
@@ -805,7 +805,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/RegionScannerImpl.html#line.238">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/RegionScannerImpl.html#line.241">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>
@@ -827,7 +827,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/RegionScannerImpl.html#line.244">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/RegionScannerImpl.html#line.247">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>
@@ -850,7 +850,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/RegionScannerImpl.html#line.260">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/RegionScannerImpl.html#line.263">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
@@ -875,7 +875,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/RegionScannerImpl.html#line.266">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/RegionScannerImpl.html#line.269">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>
@@ -921,7 +921,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/RegionScannerImpl.html#line.301">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/RegionScannerImpl.html#line.304">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>
 <div class="block">Returns true if more cells exist after this batch, false if scanner is done</div>
@@ -937,7 +937,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/RegionScannerImpl.html#line.323">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/RegionScannerImpl.html#line.326">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)
@@ -960,7 +960,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/RegionScannerImpl.html#line.368">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/RegionScannerImpl.html#line.371">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 then
@@ -977,7 +977,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/RegionScannerImpl.html#line.374">isFilterDone</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.377">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>
 <div class="block">Returns True if a filter rules the scanner is over, done.</div>
 <dl>
@@ -996,7 +996,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/RegionScannerImpl.html#line.378">isFilterDoneInternal</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.381">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>
@@ -1010,7 +1010,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>checkClientDisconnect</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.382">checkClientDisconnect</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&gt;&nbsp;rpcCall)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.385">checkClientDisconnect</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&gt;&nbsp;rpcCall)
                             throws <a href="../../../../../org/apache/hadoop/hbase/ipc/CallerDisconnectedException.html" title="class in org.apache.hadoop.hbase.ipc">CallerDisconnectedException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -1024,7 +1024,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>resetProgress</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.397">resetProgress</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.400">resetProgress</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a>&nbsp;scannerContext,
                            int&nbsp;initialBatchProgress,
                            long&nbsp;initialSizeProgress,
                            long&nbsp;initialHeapSizeProgress)</pre>
@@ -1036,7 +1036,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/RegionScannerImpl.html#line.410">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/RegionScannerImpl.html#line.413">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>
@@ -1051,7 +1051,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsFilteredMetric</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.620">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>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.623">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-">
@@ -1060,7 +1060,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementCountOfRowsScannedMetric</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.633">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>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.636">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-">
@@ -1069,7 +1069,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/RegionScannerImpl.html#line.642">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/RegionScannerImpl.html#line.645">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>
 <div class="block">Returns true when the joined heap may have data for the current row</div>
 <dl>
@@ -1084,7 +1084,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/RegionScannerImpl.html#line.667">filterRow</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.670">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, it may
@@ -1103,7 +1103,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/RegionScannerImpl.html#line.673">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/RegionScannerImpl.html#line.676">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>
@@ -1117,7 +1117,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/RegionScannerImpl.html#line.703">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/RegionScannerImpl.html#line.706">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>
@@ -1132,7 +1132,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/RegionScannerImpl.html#line.719">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/RegionScannerImpl.html#line.722">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="closeInternal--">
@@ -1141,7 +1141,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSc
 <ul class="blockList">
 <li class="blockList">
 <h4>closeInternal</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.732">closeInternal</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.735">closeInternal</a>()</pre>
 </li>
 </ul>
 <a name="close--">
@@ -1150,7 +1150,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/RegionScannerImpl.html#line.747">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.750">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>
@@ -1169,7 +1169,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/RegionScannerImpl.html#line.752">reseek</a>(byte[]&nbsp;row)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.755">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 may come before the
@@ -1188,7 +1188,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/RegionScannerImpl.html#line.774">shipped</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.777">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
@@ -1207,7 +1207,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/RegionScannerImpl.html#line.784">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html#line.787">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/class-use/ReadPointCalculationLock.LockType.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.LockType.html
new file mode 100644
index 00000000000..a2fcc291118
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.LockType.html
@@ -0,0 +1,191 @@
+<!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.ReadPointCalculationLock.LockType (Apache HBase 3.0.0-alpha-4-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.ReadPointCalculationLock.LockType (Apache HBase 3.0.0-alpha-4-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/ReadPointCalculationLock.LockType.html" title="enum 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/ReadPointCalculationLock.LockType.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.LockType.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.ReadPointCalculationLock.LockType" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType</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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</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 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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ReadPointCalculationLock.LockType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#valueOf-java.lang.String-">valueOf</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;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadPointCalculationLock.LockType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<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> with parameters of type <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadPointCalculationLock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#lock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">lock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockTyp [...]
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadPointCalculationLock.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html#unlock-org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock.LockType-">unlock</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.Loc [...]
+</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/ReadPointCalculationLock.LockType.html" title="enum 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/ReadPointCalculationLock.LockType.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.LockType.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;2020 <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/ReadPointCalculationLock.html b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.html
new file mode 100644
index 00000000000..8df21a6feb4
--- /dev/null
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.html
@@ -0,0 +1,165 @@
+<!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.ReadPointCalculationLock (Apache HBase 3.0.0-alpha-4-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.ReadPointCalculationLock (Apache HBase 3.0.0-alpha-4-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/ReadPointCalculationLock.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/ReadPointCalculationLock.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.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.ReadPointCalculationLock" class="title">Uses of Class<br>org.apache.hadoop.hbase.regionserver.ReadPointCalculationLock</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/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</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/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</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> declared as <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</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>(package private) <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></code></td>
+<td class="colLast"><span class="typeNameLabel">HRegion.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#smallestReadPointCalcLock">smallestReadPointCalcLock</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/ReadPointCalculationLock.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/ReadPointCalculationLock.html" target="_top">Frames</a></li>
+<li><a href="ReadPointCalculationLock.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;2020 <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 91eaaedbb3f..1b26adc5341 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-frame.html
@@ -213,6 +213,7 @@
 <li><a href="OffheapChunk.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">OffheapChunk</a></li>
 <li><a href="OnheapChunk.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">OnheapChunk</a></li>
 <li><a href="OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">OperationStatus</a></li>
+<li><a href="ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">ReadPointCalculationLock</a></li>
 <li><a href="RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">RegionCoprocessorHost</a></li>
 <li><a href="RegionCoprocessorHost.RegionEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">RegionCoprocessorHost.RegionEnvironment</a></li>
 <li><a href="RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors</a></li>
@@ -311,6 +312,7 @@
 <li><a href="HRegion.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">HRegion.FlushResult.Result</a></li>
 <li><a href="MemStoreCompactionStrategy.Action.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">MemStoreCompactionStrategy.Action</a></li>
 <li><a href="MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">MetricsRegionServerSourceFactoryImpl.FactoryStorage</a></li>
+<li><a href="ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">ReadPointCalculationLock.LockType</a></li>
 <li><a href="Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">Region.Operation</a></li>
 <li><a href="ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">ScannerContext.LimitScope</a></li>
 <li><a href="ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver" target="classFrame">ScannerContext.NextState</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 aa12c5dff18..c17e7e58149 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-summary.html
@@ -1263,180 +1263,187 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a></td>
+<td class="colLast">
+<div class="block">Lock to manage concurrency between <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionScanner</code></a> and
+ <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint--"><code>HRegion.getSmallestReadPoint()</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost</a></td>
 <td class="colLast">
 <div class="block">Implements the coprocessor environment and runtime support for coprocessors loaded within a
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>Region</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionEnvironment</a></td>
 <td class="colLast">
 <div class="block">Encapsulation of the environment of each coprocessor</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.RegionEnvironmentForCoreCoprocessors</a></td>
 <td class="colLast">
 <div class="block">Special version of RegionEnvironment that exposes RegionServerServices for Core Coprocessors
  only.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.TableCoprocessorAttribute.html" title="class in org.apache.hadoop.hbase.regionserver">RegionCoprocessorHost.TableCoprocessorAttribute</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">RegionScannerImpl</a></td>
 <td class="colLast">
 <div class="block">RegionScannerImpl is used to combine scanners from multiple Stores (aka column families).</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerAccounting.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerAccounting</a></td>
 <td class="colLast">
 <div class="block">RegionServerAccounting keeps record of some basic real time information about the Region Server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironment.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost.RegionServerEnvironment</a></td>
 <td class="colLast">
 <div class="block">Coprocessor environment extension providing access to region server related services.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.RegionServerEnvironmentForCoreCoprocessors.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerCoprocessorHost.RegionServerEnvironmentForCoreCoprocessors</a></td>
 <td class="colLast">
 <div class="block">Special version of RegionServerEnvironment that exposes RegionServerServices for Core
  Coprocessors only.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.PostOpenDeployContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.PostOpenDeployContext</a></td>
 <td class="colLast">
 <div class="block">Context for postOpenDeployTasks().</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerServices.RegionStateTransitionContext.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerServices.RegionStateTransitionContext</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServerTableMetrics.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServerTableMetrics</a></td>
 <td class="colLast">
 <div class="block">Captures operation metrics by table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionServicesForStores.html" title="class in org.apache.hadoop.hbase.regionserver">RegionServicesForStores</a></td>
 <td class="colLast">
 <div class="block">Services a Store needs from a Region.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitPolicy</a></td>
 <td class="colLast">
 <div class="block">A split policy determines when a Region should be split.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionSplitRestriction.html" title="class in org.apache.hadoop.hbase.regionserver">RegionSplitRestriction</a></td>
 <td class="colLast">
 <div class="block">A split restriction that restricts the pattern of the split point.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.html" title="class in org.apache.hadoop.hbase.regionserver">RemoteProcedureResultReporter</a></td>
 <td class="colLast">
 <div class="block">A thread which calls <code>reportProcedureDone</code> to tell master the result of a remote procedure.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedKeyValueHeap</a></td>
 <td class="colLast">
 <div class="block">ReversedKeyValueHeap is used for supporting reversed scanning.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.ReversedKVScannerComparator.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedKeyValueHeap.ReversedKVScannerComparator</a></td>
 <td class="colLast">
 <div class="block">In ReversedKVScannerComparator, we compare the row of scanners' peek values first, sort bigger
  one before the smaller one.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedMobStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedMobStoreScanner</a></td>
 <td class="colLast">
 <div class="block">ReversedMobStoreScanner extends from ReversedStoreScanner, and is used to support reversed
  scanning in both the memstore and the MOB store.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedRegionScannerImpl</a></td>
 <td class="colLast">
 <div class="block">ReversibleRegionScannerImpl extends from RegionScannerImpl, and is used to support reversed
  scanning.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">ReversedStoreScanner</a></td>
 <td class="colLast">
 <div class="block">ReversedStoreScanner extends from StoreScanner, and is used to support reversed scanning.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSAnnotationReadingPriorityFunction.html" title="class in org.apache.hadoop.hbase.regionserver">RSAnnotationReadingPriorityFunction</a></td>
 <td class="colLast">
 <div class="block">Priority function specifically for the region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></td>
 <td class="colLast">
 <div class="block">Implements the regionserver RPC services.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerCloseCallBack</a></td>
 <td class="colLast">
 <div class="block">An Rpc callback for closing a RegionScanner.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a></td>
 <td class="colLast">
 <div class="block">Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannersCloseCallBack</a></td>
 <td class="colLast">
 <div class="block">An RpcCallBack that creates a list of scanners that needs to perform callBack operation on
  completion of multiGets.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSSnapshotVerifier.html" title="class in org.apache.hadoop.hbase.regionserver">RSSnapshotVerifier</a></td>
 <td class="colLast">
 <div class="block">Used by <a href="../../../../../org/apache/hadoop/hbase/master/procedure/SnapshotVerifyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><code>SnapshotVerifyProcedure</code></a> to verify if the
  region info and store file info in RegionManifest are intact.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSSnapshotVerifier.SnapshotManifestCacheLoader.html" title="class in org.apache.hadoop.hbase.regionserver">RSSnapshotVerifier.SnapshotManifestCacheLoader</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanInfo.html" title="class in org.apache.hadoop.hbase.regionserver">ScanInfo</a></td>
 <td class="colLast">
 <div class="block">Immutable information for scans over a store.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext</a></td>
 <td class="colLast">
 <div class="block">ScannerContext instances encapsulate limit tracking AND progress towards those limits during
@@ -1444,314 +1451,314 @@
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.Builder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a></td>
 <td class="colLast">
 <div class="block">The different fields that can be used as limits in calls to
  <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a> and <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(java.util.List)</code></a></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.ProgressFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.ProgressFields</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerIdGenerator.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerIdGenerator</a></td>
 <td class="colLast">
 <div class="block">Generate a new style scanner id to prevent collision with previous started server or other RSs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager</a></td>
 <td class="colLast">
 <div class="block">Bulk loads in secure mode.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SecureBulkLoadManager.SecureBulkLoadListener.html" title="class in org.apache.hadoop.hbase.regionserver">SecureBulkLoadManager.SecureBulkLoadListener</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a></td>
 <td class="colLast">
 <div class="block">This is an abstraction of a segment maintained in a memstore, e.g., the active cell set or its
  snapshot.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SegmentFactory.html" title="class in org.apache.hadoop.hbase.regionserver">SegmentFactory</a></td>
 <td class="colLast">
 <div class="block">A singleton store segment factory.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SegmentScanner.html" title="class in org.apache.hadoop.hbase.regionserver">SegmentScanner</a></td>
 <td class="colLast">
 <div class="block">A scanner of a single memstore segment.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager</a></td>
 <td class="colLast">
 <div class="block">Implementation of nonce manager that stores nonces in a hash map and cleans them up after some
  time; if nonce group/client ID is supplied, nonces are stored by client ID.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ServerNonceManager.OperationContext.html" title="class in org.apache.hadoop.hbase.regionserver">ServerNonceManager.OperationContext</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ShutdownHook.html" title="class in org.apache.hadoop.hbase.regionserver">ShutdownHook</a></td>
 <td class="colLast">
 <div class="block">Manage regionserver shutdown hooks.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ShutdownHook.DoNothingStoppable.html" title="class in org.apache.hadoop.hbase.regionserver">ShutdownHook.DoNothingStoppable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ShutdownHook.DoNothingThread.html" title="class in org.apache.hadoop.hbase.regionserver">ShutdownHook.DoNothingThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ShutdownHook.ShutdownHookThread.html" title="class in org.apache.hadoop.hbase.regionserver">ShutdownHook.ShutdownHookThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.html" title="class in org.apache.hadoop.hbase.regionserver">SimpleRpcSchedulerFactory</a></td>
 <td class="colLast">
 <div class="block">Constructs a <a href="../../../../../org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc"><code>SimpleRpcScheduler</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SnapshotRegionCallable.html" title="class in org.apache.hadoop.hbase.regionserver">SnapshotRegionCallable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SnapshotSegmentScanner.html" title="class in org.apache.hadoop.hbase.regionserver">SnapshotSegmentScanner</a></td>
 <td class="colLast">
 <div class="block">A basic SegmentScanner used against an ImmutableScanner snapshot Used flushing where we do a
  single pass, no reverse scanning or inserts happening.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SnapshotVerifyCallable.html" title="class in org.apache.hadoop.hbase.regionserver">SnapshotVerifyCallable</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.html" title="class in org.apache.hadoop.hbase.regionserver">SplitLogWorker</a></td>
 <td class="colLast">Deprecated
 <div class="block"><span class="deprecationComment">since 2.4.0 and in 3.0.0, to be removed in 4.0.0, replaced by procedure-based
              distributed WAL splitter, see SplitWALRemoteProcedure</span></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitRequest.html" title="class in org.apache.hadoop.hbase.regionserver">SplitRequest</a></td>
 <td class="colLast">
 <div class="block">Handles processing region splits.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitWALCallable.html" title="class in org.apache.hadoop.hbase.regionserver">SplitWALCallable</a></td>
 <td class="colLast">
 <div class="block">This callable is used to do the real split WAL task.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SteppingSplitPolicy.html" title="class in org.apache.hadoop.hbase.regionserver">SteppingSplitPolicy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreContext.html" title="class in org.apache.hadoop.hbase.regionserver">StoreContext</a></td>
 <td class="colLast">
 <div class="block">This carries the immutable information and references on some of the meta data about the HStore.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreContext.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">StoreContext.Builder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StoreEngine</a>&lt;SF extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFlusher</a>,CP extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.html" title="class in org.apache.hadoop.hbase.regionserv [...]
 <td class="colLast">
 <div class="block">StoreEngine is a factory that can create the objects necessary for HStore to operate.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileComparators.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators</a></td>
 <td class="colLast">
 <div class="block">Useful comparators for comparing store files.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetBulkTime.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators.GetBulkTime</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetFileSize.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators.GetFileSize</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetMaxTimestamp.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators.GetMaxTimestamp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileComparators.GetPathName.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileComparators.GetPathName</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileInfo.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileInfo</a></td>
 <td class="colLast">
 <div class="block">Describe a StoreFile (hfile, reference, link)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileReader.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileReader</a></td>
 <td class="colLast">
 <div class="block">Reader for a StoreFile.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.html" title="class in org.apache.hadoop.hbase.regionserver">StorefileRefresherChore</a></td>
 <td class="colLast">
 <div class="block">A chore for refreshing the store files for secondary regions hosted in the region server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileScanner</a></td>
 <td class="colLast">
 <div class="block">KeyValueScanner adaptor over the Reader.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></td>
 <td class="colLast">
 <div class="block">A StoreFile writer.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileWriter.Builder.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter.Builder</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFlusher</a></td>
 <td class="colLast">
 <div class="block">Store flusher interface.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreScanner</a></td>
 <td class="colLast">
 <div class="block">Scanner scans both the memstore and the Store.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreUtils.html" title="class in org.apache.hadoop.hbase.regionserver">StoreUtils</a></td>
 <td class="colLast">
 <div class="block">Utility functions for region server storage layer.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StripeMultiFileWriter</a></td>
 <td class="colLast">
 <div class="block">Base class for cell sink that separates the provided cells into multiple files for stripe
  compaction.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.BoundaryMultiWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StripeMultiFileWriter.BoundaryMultiWriter</a></td>
 <td class="colLast">
 <div class="block">MultiWriter that separates the cells based on fixed row-key boundaries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.SizeMultiWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StripeMultiFileWriter.SizeMultiWriter</a></td>
 <td class="colLast">
 <div class="block">MultiWriter that separates the cells based on target cell number per file and file count.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreConfig.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreConfig</a></td>
 <td class="colLast">
 <div class="block">Configuration class for stripe store and compactions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreEngine.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreEngine</a></td>
 <td class="colLast">
 <div class="block">The storage engine that implements the stripe-based store/compaction scheme.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFileManager</a></td>
 <td class="colLast">
 <div class="block">Stripe implementation of <a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreFileManager.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>StoreFileManager</code></a>.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFileManager.KeyBeforeConcatenatedLists</a></td>
 <td class="colLast">
 <div class="block">An extension of ConcatenatedLists that has several peculiar properties.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFileManager.State</a></td>
 <td class="colLast">
 <div class="block">The state class.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFlusher</a></td>
 <td class="colLast">
 <div class="block">Stripe implementation of StoreFlusher.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.BoundaryStripeFlushRequest.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFlusher.BoundaryStripeFlushRequest</a></td>
 <td class="colLast">
 <div class="block">Stripe flush request wrapper based on boundaries.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.SizeStripeFlushRequest.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFlusher.SizeStripeFlushRequest</a></td>
 <td class="colLast">
 <div class="block">Stripe flush request wrapper based on size.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.StripeFlushRequest.html" title="class in org.apache.hadoop.hbase.regionserver">StripeStoreFlusher.StripeFlushRequest</a></td>
 <td class="colLast">
 <div class="block">Stripe flush request wrapper that writes a non-striped file.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ThreadSafeMemStoreSizing.html" title="class in org.apache.hadoop.hbase.regionserver">ThreadSafeMemStoreSizing</a></td>
 <td class="colLast">
 <div class="block">Accounting of current heap and data sizes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker</a></td>
 <td class="colLast">
 <div class="block">Stores minimum and maximum timestamp values, it is [minimumTimestamp, maximumTimestamp] in
  interval notation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.NonSyncTimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker.NonSyncTimeRangeTracker</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.SyncTimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker.SyncTimeRangeTracker</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/VersionedSegmentsList.html" title="class in org.apache.hadoop.hbase.regionserver">VersionedSegmentsList</a></td>
 <td class="colLast">
 <div class="block">A list of segment managers coupled with the version of the memstore (version at the time it was
@@ -1811,35 +1818,39 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver">Region.Operation</a></td>
 <td class="colLast">
 <div class="block">Operation enum is used in <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html#startRegionOperation--"><code>Region.startRegionOperation()</code></a> and elsewhere to provide context
  for various checks.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a></td>
 <td class="colLast">
 <div class="block">The various scopes where a limit can be enforced.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a></td>
 <td class="colLast">
 <div class="block">The possible states a scanner may be in following a call to <a href="../../../../../org/apache/hadoop/hbase/regionserver/InternalScanner.html#next-java.util.List-"><code>InternalScanner.next(List)</code></a></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver">ScanType</a></td>
 <td class="colLast">
 <div class="block">Enum to distinguish general scan types.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver">SplitLogWorker.TaskExecutor.Status</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.Type.html" title="enum in org.apache.hadoop.hbase.regionserver">TimeRangeTracker.Type</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 f7e96c8b47e..1853e3dad0f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -431,6 +431,7 @@
 </ul>
 </li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">OperationStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.TableCoprocessorAttribute.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionCoprocessorHost.TableCoprocessorAttribute</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScannerImpl.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionScannerImpl</span></a> (implements org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>, org.apache.hadoop.hbase.ipc.<a href [...]
 <ul>
@@ -754,20 +755,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.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/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/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/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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock.LockType</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/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/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/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/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/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/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/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/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/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/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/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/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>
 </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 b559ae323bc..409eb969770 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-use.html
@@ -1543,6 +1543,15 @@ service.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.html#org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock</a>
+<div class="block">Lock to manage concurrency between <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver"><code>RegionScanner</code></a> and
+ <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegion.html#getSmallestReadPoint--"><code>HRegion.getSmallestReadPoint()</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/ReadPointCalculationLock.LockType.html#org.apache.hadoop.hbase.regionserver">ReadPointCalculationLock.LockType</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/regionserver/class-use/Region.html#org.apache.hadoop.hbase.regionserver">Region</a>
 <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>
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 42e525e8298..8f4b8fcee3f 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -251,9 +251,9 @@
 <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/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/CompressionContext.DictionaryIndex.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">CompressionContext.DictionaryIndex</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 57be9ee5ec7..6052a4d016b 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/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.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>
-<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/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/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/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/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/SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">SnapshotScannerHDFSAclHelper.HDFSAclOperation.OperationType</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 4aa01916529..5c1834be89a 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -197,8 +197,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.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/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/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 09b80d263a3..c9f444cb5b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -211,9 +211,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.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/ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ImplType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="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>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html b/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
index 6566d6c7162..8aa5128bffb 100644
--- a/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/trace/package-tree.html
@@ -97,9 +97,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.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.RpcSystem.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.RpcSystem</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.ReadType.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.Operation.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.Operation</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.trace.<a href="../../../../../org/apache/hadoop/hbase/trace/HBaseSemanticAttributes.RpcSystem.html" title="enum in org.apache.hadoop.hbase.trace"><span class="typeNameLink">HBaseSemanticAttributes.RpcSystem</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index bbeec17acad..13d3c7dfe53 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -536,15 +536,15 @@
 <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/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/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/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/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/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/DNS.ServerType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">DNS.ServerType</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/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/IdReadWriteLockWithObjectPool.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLockWithObjectPool.ReferenceType</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>
+<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/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/DNS.ServerType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">DNS.ServerType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLockWithObjectPool.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLockWithObjectPool.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>
 </ul>
 </li>
 </ul>
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index 52cba61d1f5..02153954847 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -3304,6 +3304,7 @@
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ReadOnlyZKClient.ZKTask.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="typeNameLink">ReadOnlyZKClient.ZKTask</span></a>&lt;T&gt;</li>
 </ul>
 </li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ReadPointCalculationLock.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.<a href="org/apache/hadoop/hbase/hbtop/Record.html" title="class in org.apache.hadoop.hbase.hbtop"><span class="typeNameLink">Record</span></a> (implements java.util.<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;K,V&gt;)</li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.<a href="org/apache/hadoop/hbase/hbtop/Record.Builder.html" title="class in org.apache.hadoop.hbase.hbtop"><span class="typeNameLink">Record.Builder</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.hbtop.<a href="org/apache/hadoop/hbase/hbtop/RecordFilter.html" title="class in org.apache.hadoop.hbase.hbtop"><span class="typeNameLink">RecordFilter</span></a></li>
@@ -5758,6 +5759,7 @@
 <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/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/ReadPointCalculationLock.LockType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ReadPointCalculationLock.LockType</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/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/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
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 6c83a6affa7..4f248723cd5 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
@@ -407,63 +407,63 @@
 <span class="sourceLineNo">399</span>  private final int miniBatchSize;<a name="line.399"></a>
 <span class="sourceLineNo">400</span><a name="line.400"></a>
 <span class="sourceLineNo">401</span>  final ConcurrentHashMap&lt;RegionScanner, Long&gt; scannerReadPoints;<a name="line.401"></a>
-<span class="sourceLineNo">402</span><a name="line.402"></a>
-<span class="sourceLineNo">403</span>  /**<a name="line.403"></a>
-<span class="sourceLineNo">404</span>   * The sequence ID that was enLongAddered when this region was opened.<a name="line.404"></a>
-<span class="sourceLineNo">405</span>   */<a name="line.405"></a>
-<span class="sourceLineNo">406</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.406"></a>
-<span class="sourceLineNo">407</span><a name="line.407"></a>
-<span class="sourceLineNo">408</span>  /**<a name="line.408"></a>
-<span class="sourceLineNo">409</span>   * The default setting for whether to enable on-demand CF loading for scan requests to this<a name="line.409"></a>
-<span class="sourceLineNo">410</span>   * region. Requests can override it.<a name="line.410"></a>
-<span class="sourceLineNo">411</span>   */<a name="line.411"></a>
-<span class="sourceLineNo">412</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.415"></a>
-<span class="sourceLineNo">416</span><a name="line.416"></a>
-<span class="sourceLineNo">417</span>  //<a name="line.417"></a>
-<span class="sourceLineNo">418</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.418"></a>
-<span class="sourceLineNo">419</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.419"></a>
-<span class="sourceLineNo">420</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.420"></a>
-<span class="sourceLineNo">421</span>  // are equal to or lower than maxSeqId for each store.<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  // The following map is populated when opening the region<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.423"></a>
-<span class="sourceLineNo">424</span><a name="line.424"></a>
-<span class="sourceLineNo">425</span>  // lock used to protect the replay operation for secondary replicas, so the below two fields does<a name="line.425"></a>
-<span class="sourceLineNo">426</span>  // not need to be volatile.<a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private Lock replayLock;<a name="line.427"></a>
-<span class="sourceLineNo">428</span><a name="line.428"></a>
-<span class="sourceLineNo">429</span>  /** Saved state from replaying prepare flush cache */<a name="line.429"></a>
-<span class="sourceLineNo">430</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.430"></a>
-<span class="sourceLineNo">431</span><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  private long lastReplayedSequenceId = HConstants.NO_SEQNUM;<a name="line.432"></a>
-<span class="sourceLineNo">433</span><a name="line.433"></a>
-<span class="sourceLineNo">434</span>  private volatile ConfigurationManager configurationManager;<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  // Used for testing.<a name="line.436"></a>
-<span class="sourceLineNo">437</span>  private volatile Long timeoutForWriteLock = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span><a name="line.438"></a>
-<span class="sourceLineNo">439</span>  private final CellComparator cellComparator;<a name="line.439"></a>
-<span class="sourceLineNo">440</span><a name="line.440"></a>
-<span class="sourceLineNo">441</span>  /**<a name="line.441"></a>
-<span class="sourceLineNo">442</span>   * @return The smallest mvcc readPoint across all the scanners in this region. Writes older than<a name="line.442"></a>
-<span class="sourceLineNo">443</span>   *         this readPoint, are included in every read operation.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>   */<a name="line.444"></a>
-<span class="sourceLineNo">445</span>  public long getSmallestReadPoint() {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    long minimumReadPoint;<a name="line.446"></a>
+<span class="sourceLineNo">402</span>  final ReadPointCalculationLock smallestReadPointCalcLock;<a name="line.402"></a>
+<span class="sourceLineNo">403</span><a name="line.403"></a>
+<span class="sourceLineNo">404</span>  /**<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * The sequence ID that was enLongAddered when this region was opened.<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   */<a name="line.406"></a>
+<span class="sourceLineNo">407</span>  private long openSeqNum = HConstants.NO_SEQNUM;<a name="line.407"></a>
+<span class="sourceLineNo">408</span><a name="line.408"></a>
+<span class="sourceLineNo">409</span>  /**<a name="line.409"></a>
+<span class="sourceLineNo">410</span>   * The default setting for whether to enable on-demand CF loading for scan requests to this<a name="line.410"></a>
+<span class="sourceLineNo">411</span>   * region. Requests can override it.<a name="line.411"></a>
+<span class="sourceLineNo">412</span>   */<a name="line.412"></a>
+<span class="sourceLineNo">413</span>  private boolean isLoadingCfsOnDemandDefault = false;<a name="line.413"></a>
+<span class="sourceLineNo">414</span><a name="line.414"></a>
+<span class="sourceLineNo">415</span>  private final AtomicInteger majorInProgress = new AtomicInteger(0);<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  private final AtomicInteger minorInProgress = new AtomicInteger(0);<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>  //<a name="line.418"></a>
+<span class="sourceLineNo">419</span>  // Context: During replay we want to ensure that we do not lose any data. So, we<a name="line.419"></a>
+<span class="sourceLineNo">420</span>  // have to be conservative in how we replay wals. For each store, we calculate<a name="line.420"></a>
+<span class="sourceLineNo">421</span>  // the maxSeqId up to which the store was flushed. And, skip the edits which<a name="line.421"></a>
+<span class="sourceLineNo">422</span>  // are equal to or lower than maxSeqId for each store.<a name="line.422"></a>
+<span class="sourceLineNo">423</span>  // The following map is populated when opening the region<a name="line.423"></a>
+<span class="sourceLineNo">424</span>  Map&lt;byte[], Long&gt; maxSeqIdInStores = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.424"></a>
+<span class="sourceLineNo">425</span><a name="line.425"></a>
+<span class="sourceLineNo">426</span>  // lock used to protect the replay operation for secondary replicas, so the below two fields does<a name="line.426"></a>
+<span class="sourceLineNo">427</span>  // not need to be volatile.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>  private Lock replayLock;<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>  /** Saved state from replaying prepare flush cache */<a name="line.430"></a>
+<span class="sourceLineNo">431</span>  private PrepareFlushResult prepareFlushResult = null;<a name="line.431"></a>
+<span class="sourceLineNo">432</span><a name="line.432"></a>
+<span class="sourceLineNo">433</span>  private long lastReplayedSequenceId = HConstants.NO_SEQNUM;<a name="line.433"></a>
+<span class="sourceLineNo">434</span><a name="line.434"></a>
+<span class="sourceLineNo">435</span>  private volatile ConfigurationManager configurationManager;<a name="line.435"></a>
+<span class="sourceLineNo">436</span><a name="line.436"></a>
+<span class="sourceLineNo">437</span>  // Used for testing.<a name="line.437"></a>
+<span class="sourceLineNo">438</span>  private volatile Long timeoutForWriteLock = null;<a name="line.438"></a>
+<span class="sourceLineNo">439</span><a name="line.439"></a>
+<span class="sourceLineNo">440</span>  private final CellComparator cellComparator;<a name="line.440"></a>
+<span class="sourceLineNo">441</span><a name="line.441"></a>
+<span class="sourceLineNo">442</span>  /**<a name="line.442"></a>
+<span class="sourceLineNo">443</span>   * @return The smallest mvcc readPoint across all the scanners in this region. Writes older than<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   *         this readPoint, are included in every read operation.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   */<a name="line.445"></a>
+<span class="sourceLineNo">446</span>  public long getSmallestReadPoint() {<a name="line.446"></a>
 <span class="sourceLineNo">447</span>    // We need to ensure that while we are calculating the smallestReadPoint<a name="line.447"></a>
 <span class="sourceLineNo">448</span>    // no new RegionScanners can grab a readPoint that we are unaware of.<a name="line.448"></a>
-<span class="sourceLineNo">449</span>    // We achieve this by synchronizing on the scannerReadPoints object.<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    synchronized (scannerReadPoints) {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      minimumReadPoint = mvcc.getReadPoint();<a name="line.451"></a>
+<span class="sourceLineNo">449</span>    smallestReadPointCalcLock.lock(ReadPointCalculationLock.LockType.CALCULATION_LOCK);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>    try {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>      long minimumReadPoint = mvcc.getReadPoint();<a name="line.451"></a>
 <span class="sourceLineNo">452</span>      for (Long readPoint : this.scannerReadPoints.values()) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>        if (readPoint &lt; minimumReadPoint) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          minimumReadPoint = readPoint;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>        }<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      }<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>    return minimumReadPoint;<a name="line.458"></a>
+<span class="sourceLineNo">453</span>        minimumReadPoint = Math.min(minimumReadPoint, readPoint);<a name="line.453"></a>
+<span class="sourceLineNo">454</span>      }<a name="line.454"></a>
+<span class="sourceLineNo">455</span>      return minimumReadPoint;<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    } finally {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>      smallestReadPointCalcLock.unlock(ReadPointCalculationLock.LockType.CALCULATION_LOCK);<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    }<a name="line.458"></a>
 <span class="sourceLineNo">459</span>  }<a name="line.459"></a>
 <span class="sourceLineNo">460</span><a name="line.460"></a>
 <span class="sourceLineNo">461</span>  /*<a name="line.461"></a>
@@ -806,8010 +806,8013 @@
 <span class="sourceLineNo">798</span>    }<a name="line.798"></a>
 <span class="sourceLineNo">799</span>    this.rowLockWaitDuration = tmpRowLockDuration;<a name="line.799"></a>
 <span class="sourceLineNo">800</span><a name="line.800"></a>
-<span class="sourceLineNo">801</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.801"></a>
-<span class="sourceLineNo">802</span>    this.htableDescriptor = htd;<a name="line.802"></a>
-<span class="sourceLineNo">803</span>    Set&lt;byte[]&gt; families = this.htableDescriptor.getColumnFamilyNames();<a name="line.803"></a>
-<span class="sourceLineNo">804</span>    for (byte[] family : families) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span>      if (!replicationScope.containsKey(family)) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span>        int scope = htd.getColumnFamily(family).getScope();<a name="line.806"></a>
-<span class="sourceLineNo">807</span>        // Only store those families that has NON-DEFAULT scope<a name="line.807"></a>
-<span class="sourceLineNo">808</span>        if (scope != REPLICATION_SCOPE_LOCAL) {<a name="line.808"></a>
-<span class="sourceLineNo">809</span>          // Do a copy before storing it here.<a name="line.809"></a>
-<span class="sourceLineNo">810</span>          replicationScope.put(Bytes.copy(family), scope);<a name="line.810"></a>
-<span class="sourceLineNo">811</span>        }<a name="line.811"></a>
-<span class="sourceLineNo">812</span>      }<a name="line.812"></a>
-<span class="sourceLineNo">813</span>    }<a name="line.813"></a>
-<span class="sourceLineNo">814</span><a name="line.814"></a>
-<span class="sourceLineNo">815</span>    this.rsServices = rsServices;<a name="line.815"></a>
-<span class="sourceLineNo">816</span>    if (this.rsServices != null) {<a name="line.816"></a>
-<span class="sourceLineNo">817</span>      this.blockCache = rsServices.getBlockCache().orElse(null);<a name="line.817"></a>
-<span class="sourceLineNo">818</span>      this.mobFileCache = rsServices.getMobFileCache().orElse(null);<a name="line.818"></a>
-<span class="sourceLineNo">819</span>    }<a name="line.819"></a>
-<span class="sourceLineNo">820</span>    this.regionServicesForStores = new RegionServicesForStores(this, rsServices);<a name="line.820"></a>
-<span class="sourceLineNo">821</span><a name="line.821"></a>
-<span class="sourceLineNo">822</span>    setHTableSpecificConf();<a name="line.822"></a>
-<span class="sourceLineNo">823</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;&gt;();<a name="line.823"></a>
-<span class="sourceLineNo">824</span><a name="line.824"></a>
-<span class="sourceLineNo">825</span>    this.busyWaitDuration = conf.getLong("hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.825"></a>
-<span class="sourceLineNo">826</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.826"></a>
-<span class="sourceLineNo">827</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.827"></a>
-<span class="sourceLineNo">828</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration (" + busyWaitDuration<a name="line.828"></a>
-<span class="sourceLineNo">829</span>        + ") or hbase.busy.wait.multiplier.max (" + maxBusyWaitMultiplier<a name="line.829"></a>
-<span class="sourceLineNo">830</span>        + "). Their product should be positive");<a name="line.830"></a>
-<span class="sourceLineNo">831</span>    }<a name="line.831"></a>
-<span class="sourceLineNo">832</span>    this.maxBusyWaitDuration =<a name="line.832"></a>
-<span class="sourceLineNo">833</span>      conf.getLong("hbase.ipc.client.call.purge.timeout", 2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.833"></a>
-<span class="sourceLineNo">834</span><a name="line.834"></a>
-<span class="sourceLineNo">835</span>    /*<a name="line.835"></a>
-<span class="sourceLineNo">836</span>     * timestamp.slop provides a server-side constraint on the timestamp. This assumes that you base<a name="line.836"></a>
-<span class="sourceLineNo">837</span>     * your TS around EnvironmentEdgeManager.currentTime(). In this case, throw an error to the user<a name="line.837"></a>
-<span class="sourceLineNo">838</span>     * if the user-specified TS is newer than now + slop. LATEST_TIMESTAMP == don't use this<a name="line.838"></a>
-<span class="sourceLineNo">839</span>     * functionality<a name="line.839"></a>
-<span class="sourceLineNo">840</span>     */<a name="line.840"></a>
-<span class="sourceLineNo">841</span>    this.timestampSlop =<a name="line.841"></a>
-<span class="sourceLineNo">842</span>      conf.getLong("hbase.hregion.keyvalue.timestamp.slop.millisecs", HConstants.LATEST_TIMESTAMP);<a name="line.842"></a>
-<span class="sourceLineNo">843</span><a name="line.843"></a>
-<span class="sourceLineNo">844</span>    this.storeHotnessProtector = new StoreHotnessProtector(this, conf);<a name="line.844"></a>
+<span class="sourceLineNo">801</span>    this.smallestReadPointCalcLock = new ReadPointCalculationLock(conf);<a name="line.801"></a>
+<span class="sourceLineNo">802</span><a name="line.802"></a>
+<span class="sourceLineNo">803</span>    this.isLoadingCfsOnDemandDefault = conf.getBoolean(LOAD_CFS_ON_DEMAND_CONFIG_KEY, true);<a name="line.803"></a>
+<span class="sourceLineNo">804</span>    this.htableDescriptor = htd;<a name="line.804"></a>
+<span class="sourceLineNo">805</span>    Set&lt;byte[]&gt; families = this.htableDescriptor.getColumnFamilyNames();<a name="line.805"></a>
+<span class="sourceLineNo">806</span>    for (byte[] family : families) {<a name="line.806"></a>
+<span class="sourceLineNo">807</span>      if (!replicationScope.containsKey(family)) {<a name="line.807"></a>
+<span class="sourceLineNo">808</span>        int scope = htd.getColumnFamily(family).getScope();<a name="line.808"></a>
+<span class="sourceLineNo">809</span>        // Only store those families that has NON-DEFAULT scope<a name="line.809"></a>
+<span class="sourceLineNo">810</span>        if (scope != REPLICATION_SCOPE_LOCAL) {<a name="line.810"></a>
+<span class="sourceLineNo">811</span>          // Do a copy before storing it here.<a name="line.811"></a>
+<span class="sourceLineNo">812</span>          replicationScope.put(Bytes.copy(family), scope);<a name="line.812"></a>
+<span class="sourceLineNo">813</span>        }<a name="line.813"></a>
+<span class="sourceLineNo">814</span>      }<a name="line.814"></a>
+<span class="sourceLineNo">815</span>    }<a name="line.815"></a>
+<span class="sourceLineNo">816</span><a name="line.816"></a>
+<span class="sourceLineNo">817</span>    this.rsServices = rsServices;<a name="line.817"></a>
+<span class="sourceLineNo">818</span>    if (this.rsServices != null) {<a name="line.818"></a>
+<span class="sourceLineNo">819</span>      this.blockCache = rsServices.getBlockCache().orElse(null);<a name="line.819"></a>
+<span class="sourceLineNo">820</span>      this.mobFileCache = rsServices.getMobFileCache().orElse(null);<a name="line.820"></a>
+<span class="sourceLineNo">821</span>    }<a name="line.821"></a>
+<span class="sourceLineNo">822</span>    this.regionServicesForStores = new RegionServicesForStores(this, rsServices);<a name="line.822"></a>
+<span class="sourceLineNo">823</span><a name="line.823"></a>
+<span class="sourceLineNo">824</span>    setHTableSpecificConf();<a name="line.824"></a>
+<span class="sourceLineNo">825</span>    this.scannerReadPoints = new ConcurrentHashMap&lt;&gt;();<a name="line.825"></a>
+<span class="sourceLineNo">826</span><a name="line.826"></a>
+<span class="sourceLineNo">827</span>    this.busyWaitDuration = conf.getLong("hbase.busy.wait.duration", DEFAULT_BUSY_WAIT_DURATION);<a name="line.827"></a>
+<span class="sourceLineNo">828</span>    this.maxBusyWaitMultiplier = conf.getInt("hbase.busy.wait.multiplier.max", 2);<a name="line.828"></a>
+<span class="sourceLineNo">829</span>    if (busyWaitDuration * maxBusyWaitMultiplier &lt;= 0L) {<a name="line.829"></a>
+<span class="sourceLineNo">830</span>      throw new IllegalArgumentException("Invalid hbase.busy.wait.duration (" + busyWaitDuration<a name="line.830"></a>
+<span class="sourceLineNo">831</span>        + ") or hbase.busy.wait.multiplier.max (" + maxBusyWaitMultiplier<a name="line.831"></a>
+<span class="sourceLineNo">832</span>        + "). Their product should be positive");<a name="line.832"></a>
+<span class="sourceLineNo">833</span>    }<a name="line.833"></a>
+<span class="sourceLineNo">834</span>    this.maxBusyWaitDuration =<a name="line.834"></a>
+<span class="sourceLineNo">835</span>      conf.getLong("hbase.ipc.client.call.purge.timeout", 2 * HConstants.DEFAULT_HBASE_RPC_TIMEOUT);<a name="line.835"></a>
+<span class="sourceLineNo">836</span><a name="line.836"></a>
+<span class="sourceLineNo">837</span>    /*<a name="line.837"></a>
+<span class="sourceLineNo">838</span>     * timestamp.slop provides a server-side constraint on the timestamp. This assumes that you base<a name="line.838"></a>
+<span class="sourceLineNo">839</span>     * your TS around EnvironmentEdgeManager.currentTime(). In this case, throw an error to the user<a name="line.839"></a>
+<span class="sourceLineNo">840</span>     * if the user-specified TS is newer than now + slop. LATEST_TIMESTAMP == don't use this<a name="line.840"></a>
+<span class="sourceLineNo">841</span>     * functionality<a name="line.841"></a>
+<span class="sourceLineNo">842</span>     */<a name="line.842"></a>
+<span class="sourceLineNo">843</span>    this.timestampSlop =<a name="line.843"></a>
+<span class="sourceLineNo">844</span>      conf.getLong("hbase.hregion.keyvalue.timestamp.slop.millisecs", HConstants.LATEST_TIMESTAMP);<a name="line.844"></a>
 <span class="sourceLineNo">845</span><a name="line.845"></a>
-<span class="sourceLineNo">846</span>    boolean forceSync = conf.getBoolean(WAL_HSYNC_CONF_KEY, DEFAULT_WAL_HSYNC);<a name="line.846"></a>
-<span class="sourceLineNo">847</span>    /**<a name="line.847"></a>
-<span class="sourceLineNo">848</span>     * This is the global default value for durability. All tables/mutations not defining a<a name="line.848"></a>
-<span class="sourceLineNo">849</span>     * durability or using USE_DEFAULT will default to this value.<a name="line.849"></a>
-<span class="sourceLineNo">850</span>     */<a name="line.850"></a>
-<span class="sourceLineNo">851</span>    Durability defaultDurability = forceSync ? Durability.FSYNC_WAL : Durability.SYNC_WAL;<a name="line.851"></a>
-<span class="sourceLineNo">852</span>    this.regionDurability = this.htableDescriptor.getDurability() == Durability.USE_DEFAULT<a name="line.852"></a>
-<span class="sourceLineNo">853</span>      ? defaultDurability<a name="line.853"></a>
-<span class="sourceLineNo">854</span>      : this.htableDescriptor.getDurability();<a name="line.854"></a>
-<span class="sourceLineNo">855</span><a name="line.855"></a>
-<span class="sourceLineNo">856</span>    decorateRegionConfiguration(conf);<a name="line.856"></a>
-<span class="sourceLineNo">857</span>    if (rsServices != null) {<a name="line.857"></a>
-<span class="sourceLineNo">858</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.858"></a>
-<span class="sourceLineNo">859</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.859"></a>
-<span class="sourceLineNo">860</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.860"></a>
-<span class="sourceLineNo">861</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.861"></a>
-<span class="sourceLineNo">862</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.862"></a>
-<span class="sourceLineNo">863</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper, conf);<a name="line.863"></a>
-<span class="sourceLineNo">864</span>    } else {<a name="line.864"></a>
-<span class="sourceLineNo">865</span>      this.metricsRegionWrapper = null;<a name="line.865"></a>
-<span class="sourceLineNo">866</span>      this.metricsRegion = null;<a name="line.866"></a>
-<span class="sourceLineNo">867</span>    }<a name="line.867"></a>
-<span class="sourceLineNo">868</span>    if (LOG.isDebugEnabled()) {<a name="line.868"></a>
-<span class="sourceLineNo">869</span>      // Write out region name, its encoded name and storeHotnessProtector as string.<a name="line.869"></a>
-<span class="sourceLineNo">870</span>      LOG.debug("Instantiated " + this + "; " + storeHotnessProtector.toString());<a name="line.870"></a>
-<span class="sourceLineNo">871</span>    }<a name="line.871"></a>
-<span class="sourceLineNo">872</span><a name="line.872"></a>
-<span class="sourceLineNo">873</span>    configurationManager = null;<a name="line.873"></a>
+<span class="sourceLineNo">846</span>    this.storeHotnessProtector = new StoreHotnessProtector(this, conf);<a name="line.846"></a>
+<span class="sourceLineNo">847</span><a name="line.847"></a>
+<span class="sourceLineNo">848</span>    boolean forceSync = conf.getBoolean(WAL_HSYNC_CONF_KEY, DEFAULT_WAL_HSYNC);<a name="line.848"></a>
+<span class="sourceLineNo">849</span>    /**<a name="line.849"></a>
+<span class="sourceLineNo">850</span>     * This is the global default value for durability. All tables/mutations not defining a<a name="line.850"></a>
+<span class="sourceLineNo">851</span>     * durability or using USE_DEFAULT will default to this value.<a name="line.851"></a>
+<span class="sourceLineNo">852</span>     */<a name="line.852"></a>
+<span class="sourceLineNo">853</span>    Durability defaultDurability = forceSync ? Durability.FSYNC_WAL : Durability.SYNC_WAL;<a name="line.853"></a>
+<span class="sourceLineNo">854</span>    this.regionDurability = this.htableDescriptor.getDurability() == Durability.USE_DEFAULT<a name="line.854"></a>
+<span class="sourceLineNo">855</span>      ? defaultDurability<a name="line.855"></a>
+<span class="sourceLineNo">856</span>      : this.htableDescriptor.getDurability();<a name="line.856"></a>
+<span class="sourceLineNo">857</span><a name="line.857"></a>
+<span class="sourceLineNo">858</span>    decorateRegionConfiguration(conf);<a name="line.858"></a>
+<span class="sourceLineNo">859</span>    if (rsServices != null) {<a name="line.859"></a>
+<span class="sourceLineNo">860</span>      this.rsAccounting = this.rsServices.getRegionServerAccounting();<a name="line.860"></a>
+<span class="sourceLineNo">861</span>      // don't initialize coprocessors if not running within a regionserver<a name="line.861"></a>
+<span class="sourceLineNo">862</span>      // TODO: revisit if coprocessors should load in other cases<a name="line.862"></a>
+<span class="sourceLineNo">863</span>      this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);<a name="line.863"></a>
+<span class="sourceLineNo">864</span>      this.metricsRegionWrapper = new MetricsRegionWrapperImpl(this);<a name="line.864"></a>
+<span class="sourceLineNo">865</span>      this.metricsRegion = new MetricsRegion(this.metricsRegionWrapper, conf);<a name="line.865"></a>
+<span class="sourceLineNo">866</span>    } else {<a name="line.866"></a>
+<span class="sourceLineNo">867</span>      this.metricsRegionWrapper = null;<a name="line.867"></a>
+<span class="sourceLineNo">868</span>      this.metricsRegion = null;<a name="line.868"></a>
+<span class="sourceLineNo">869</span>    }<a name="line.869"></a>
+<span class="sourceLineNo">870</span>    if (LOG.isDebugEnabled()) {<a name="line.870"></a>
+<span class="sourceLineNo">871</span>      // Write out region name, its encoded name and storeHotnessProtector as string.<a name="line.871"></a>
+<span class="sourceLineNo">872</span>      LOG.debug("Instantiated " + this + "; " + storeHotnessProtector.toString());<a name="line.872"></a>
+<span class="sourceLineNo">873</span>    }<a name="line.873"></a>
 <span class="sourceLineNo">874</span><a name="line.874"></a>
-<span class="sourceLineNo">875</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.875"></a>
-<span class="sourceLineNo">876</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString()<a name="line.876"></a>
-<span class="sourceLineNo">877</span>      .equals(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR)<a name="line.877"></a>
-<span class="sourceLineNo">878</span>        ? false<a name="line.878"></a>
-<span class="sourceLineNo">879</span>        : conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.879"></a>
-<span class="sourceLineNo">880</span>          HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.880"></a>
-<span class="sourceLineNo">881</span><a name="line.881"></a>
-<span class="sourceLineNo">882</span>    this.maxCellSize = conf.getLong(HBASE_MAX_CELL_SIZE_KEY, DEFAULT_MAX_CELL_SIZE);<a name="line.882"></a>
-<span class="sourceLineNo">883</span>    this.miniBatchSize =<a name="line.883"></a>
-<span class="sourceLineNo">884</span>      conf.getInt(HBASE_REGIONSERVER_MINIBATCH_SIZE, DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE);<a name="line.884"></a>
-<span class="sourceLineNo">885</span><a name="line.885"></a>
-<span class="sourceLineNo">886</span>    // recover the metrics of read and write requests count if they were retained<a name="line.886"></a>
-<span class="sourceLineNo">887</span>    if (rsServices != null &amp;&amp; rsServices.getRegionServerAccounting() != null) {<a name="line.887"></a>
-<span class="sourceLineNo">888</span>      Pair&lt;Long, Long&gt; retainedRWRequestsCnt = rsServices.getRegionServerAccounting()<a name="line.888"></a>
-<span class="sourceLineNo">889</span>        .getRetainedRegionRWRequestsCnt().get(getRegionInfo().getEncodedName());<a name="line.889"></a>
-<span class="sourceLineNo">890</span>      if (retainedRWRequestsCnt != null) {<a name="line.890"></a>
-<span class="sourceLineNo">891</span>        this.addReadRequestsCount(retainedRWRequestsCnt.getFirst());<a name="line.891"></a>
-<span class="sourceLineNo">892</span>        this.addWriteRequestsCount(retainedRWRequestsCnt.getSecond());<a name="line.892"></a>
-<span class="sourceLineNo">893</span>        // remove them since won't use again<a name="line.893"></a>
-<span class="sourceLineNo">894</span>        rsServices.getRegionServerAccounting().getRetainedRegionRWRequestsCnt()<a name="line.894"></a>
-<span class="sourceLineNo">895</span>          .remove(getRegionInfo().getEncodedName());<a name="line.895"></a>
-<span class="sourceLineNo">896</span>      }<a name="line.896"></a>
-<span class="sourceLineNo">897</span>    }<a name="line.897"></a>
-<span class="sourceLineNo">898</span>  }<a name="line.898"></a>
-<span class="sourceLineNo">899</span><a name="line.899"></a>
-<span class="sourceLineNo">900</span>  private void setHTableSpecificConf() {<a name="line.900"></a>
-<span class="sourceLineNo">901</span>    if (this.htableDescriptor == null) {<a name="line.901"></a>
-<span class="sourceLineNo">902</span>      return;<a name="line.902"></a>
-<span class="sourceLineNo">903</span>    }<a name="line.903"></a>
-<span class="sourceLineNo">904</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.904"></a>
-<span class="sourceLineNo">905</span><a name="line.905"></a>
-<span class="sourceLineNo">906</span>    if (flushSize &lt;= 0) {<a name="line.906"></a>
-<span class="sourceLineNo">907</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.907"></a>
-<span class="sourceLineNo">908</span>        TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.908"></a>
-<span class="sourceLineNo">909</span>    }<a name="line.909"></a>
-<span class="sourceLineNo">910</span>    this.memstoreFlushSize = flushSize;<a name="line.910"></a>
-<span class="sourceLineNo">911</span>    long mult = conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.911"></a>
-<span class="sourceLineNo">912</span>      HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.912"></a>
-<span class="sourceLineNo">913</span>    this.blockingMemStoreSize = this.memstoreFlushSize * mult;<a name="line.913"></a>
-<span class="sourceLineNo">914</span>  }<a name="line.914"></a>
-<span class="sourceLineNo">915</span><a name="line.915"></a>
-<span class="sourceLineNo">916</span>  /**<a name="line.916"></a>
-<span class="sourceLineNo">917</span>   * Initialize this region. Used only by tests and SplitTransaction to reopen the region. You<a name="line.917"></a>
-<span class="sourceLineNo">918</span>   * should use createHRegion() or openHRegion()<a name="line.918"></a>
-<span class="sourceLineNo">919</span>   * @return What the next sequence (edit) id should be.<a name="line.919"></a>
-<span class="sourceLineNo">920</span>   * @throws IOException e<a name="line.920"></a>
-<span class="sourceLineNo">921</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.921"></a>
-<span class="sourceLineNo">922</span>   */<a name="line.922"></a>
-<span class="sourceLineNo">923</span>  @Deprecated<a name="line.923"></a>
-<span class="sourceLineNo">924</span>  public long initialize() throws IOException {<a name="line.924"></a>
-<span class="sourceLineNo">925</span>    return initialize(null);<a name="line.925"></a>
-<span class="sourceLineNo">926</span>  }<a name="line.926"></a>
-<span class="sourceLineNo">927</span><a name="line.927"></a>
-<span class="sourceLineNo">928</span>  /**<a name="line.928"></a>
-<span class="sourceLineNo">929</span>   * Initialize this region.<a name="line.929"></a>
-<span class="sourceLineNo">930</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.930"></a>
-<span class="sourceLineNo">931</span>   * @return What the next sequence (edit) id should be.<a name="line.931"></a>
-<span class="sourceLineNo">932</span>   */<a name="line.932"></a>
-<span class="sourceLineNo">933</span>  long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.933"></a>
-<span class="sourceLineNo">934</span><a name="line.934"></a>
-<span class="sourceLineNo">935</span>    // Refuse to open the region if there is no column family in the table<a name="line.935"></a>
-<span class="sourceLineNo">936</span>    if (htableDescriptor.getColumnFamilyCount() == 0) {<a name="line.936"></a>
-<span class="sourceLineNo">937</span>      throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()<a name="line.937"></a>
-<span class="sourceLineNo">938</span>        + " should have at least one column family.");<a name="line.938"></a>
-<span class="sourceLineNo">939</span>    }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span>    MonitoredTask status =<a name="line.941"></a>
-<span class="sourceLineNo">942</span>      TaskMonitor.get().createStatus("Initializing region " + this, false, true);<a name="line.942"></a>
-<span class="sourceLineNo">943</span>    long nextSeqId = -1;<a name="line.943"></a>
-<span class="sourceLineNo">944</span>    try {<a name="line.944"></a>
-<span class="sourceLineNo">945</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.945"></a>
-<span class="sourceLineNo">946</span>      return nextSeqId;<a name="line.946"></a>
-<span class="sourceLineNo">947</span>    } catch (IOException e) {<a name="line.947"></a>
-<span class="sourceLineNo">948</span>      LOG.warn("Failed initialize of region= {}, starting to roll back memstore",<a name="line.948"></a>
-<span class="sourceLineNo">949</span>        getRegionInfo().getRegionNameAsString(), e);<a name="line.949"></a>
-<span class="sourceLineNo">950</span>      // global memstore size will be decreased when dropping memstore<a name="line.950"></a>
-<span class="sourceLineNo">951</span>      try {<a name="line.951"></a>
-<span class="sourceLineNo">952</span>        // drop the memory used by memstore if open region fails<a name="line.952"></a>
-<span class="sourceLineNo">953</span>        dropMemStoreContents();<a name="line.953"></a>
-<span class="sourceLineNo">954</span>      } catch (IOException ioE) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span>        if (conf.getBoolean(MemStoreLAB.USEMSLAB_KEY, MemStoreLAB.USEMSLAB_DEFAULT)) {<a name="line.955"></a>
-<span class="sourceLineNo">956</span>          LOG.warn(<a name="line.956"></a>
-<span class="sourceLineNo">957</span>            "Failed drop memstore of region= {}, "<a name="line.957"></a>
-<span class="sourceLineNo">958</span>              + "some chunks may not released forever since MSLAB is enabled",<a name="line.958"></a>
-<span class="sourceLineNo">959</span>            getRegionInfo().getRegionNameAsString());<a name="line.959"></a>
-<span class="sourceLineNo">960</span>        }<a name="line.960"></a>
-<span class="sourceLineNo">961</span><a name="line.961"></a>
-<span class="sourceLineNo">962</span>      }<a name="line.962"></a>
-<span class="sourceLineNo">963</span>      throw e;<a name="line.963"></a>
-<span class="sourceLineNo">964</span>    } finally {<a name="line.964"></a>
-<span class="sourceLineNo">965</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.965"></a>
-<span class="sourceLineNo">966</span>      // At least it will be 0 otherwise.<a name="line.966"></a>
-<span class="sourceLineNo">967</span>      if (nextSeqId == -1) {<a name="line.967"></a>
-<span class="sourceLineNo">968</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString()<a name="line.968"></a>
-<span class="sourceLineNo">969</span>          + " initialization.");<a name="line.969"></a>
-<span class="sourceLineNo">970</span>      }<a name="line.970"></a>
-<span class="sourceLineNo">971</span>      if (LOG.isDebugEnabled()) {<a name="line.971"></a>
-<span class="sourceLineNo">972</span>        LOG.debug("Region open journal for {}:\n{}", this.getRegionInfo().getEncodedName(),<a name="line.972"></a>
-<span class="sourceLineNo">973</span>          status.prettyPrintJournal());<a name="line.973"></a>
-<span class="sourceLineNo">974</span>      }<a name="line.974"></a>
-<span class="sourceLineNo">975</span>      status.cleanup();<a name="line.975"></a>
-<span class="sourceLineNo">976</span>    }<a name="line.976"></a>
-<span class="sourceLineNo">977</span>  }<a name="line.977"></a>
-<span class="sourceLineNo">978</span><a name="line.978"></a>
-<span class="sourceLineNo">979</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.979"></a>
-<span class="sourceLineNo">980</span>    final MonitoredTask status) throws IOException {<a name="line.980"></a>
-<span class="sourceLineNo">981</span>    if (coprocessorHost != null) {<a name="line.981"></a>
-<span class="sourceLineNo">982</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.982"></a>
-<span class="sourceLineNo">983</span>      coprocessorHost.preOpen();<a name="line.983"></a>
-<span class="sourceLineNo">984</span>    }<a name="line.984"></a>
-<span class="sourceLineNo">985</span><a name="line.985"></a>
-<span class="sourceLineNo">986</span>    String policyName = this.conf.get(REGION_STORAGE_POLICY_KEY, DEFAULT_REGION_STORAGE_POLICY);<a name="line.986"></a>
-<span class="sourceLineNo">987</span>    this.fs.setStoragePolicy(policyName.trim());<a name="line.987"></a>
-<span class="sourceLineNo">988</span><a name="line.988"></a>
-<span class="sourceLineNo">989</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.989"></a>
-<span class="sourceLineNo">990</span>    // Only the primary replica should write .regioninfo<a name="line.990"></a>
-<span class="sourceLineNo">991</span>    if (this.getRegionInfo().getReplicaId() == RegionInfo.DEFAULT_REPLICA_ID) {<a name="line.991"></a>
-<span class="sourceLineNo">992</span>      status.setStatus("Writing region info on filesystem");<a name="line.992"></a>
-<span class="sourceLineNo">993</span>      fs.checkRegionInfoOnFilesystem();<a name="line.993"></a>
-<span class="sourceLineNo">994</span>    }<a name="line.994"></a>
-<span class="sourceLineNo">995</span><a name="line.995"></a>
-<span class="sourceLineNo">996</span>    // Initialize all the HStores<a name="line.996"></a>
-<span class="sourceLineNo">997</span>    status.setStatus("Initializing all the Stores");<a name="line.997"></a>
-<span class="sourceLineNo">998</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    if (!isRestoredRegion &amp;&amp; ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>      Collection&lt;HStore&gt; stores = this.stores.values();<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>      try {<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span>        // update the stores that we are replaying<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>        LOG.debug("replaying wal for " + this.getRegionInfo().getEncodedName());<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>        stores.forEach(HStore::startReplayingFromWAL);<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span>        // Recover any edits if available.<a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>        maxSeqId =<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>          Math.max(maxSeqId, replayRecoveredEditsIfAny(maxSeqIdInStores, reporter, status));<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>        // Recover any hfiles if available<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>        maxSeqId = Math.max(maxSeqId, loadRecoveredHFilesIfAny(stores));<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span>        // Make sure mvcc is up to max.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>        this.mvcc.advanceTo(maxSeqId);<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>      } finally {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>        LOG.debug("stopping wal replay for " + this.getRegionInfo().getEncodedName());<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>        // update the stores that we are done replaying<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span>        stores.forEach(HStore::stopReplayingFromWAL);<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>      }<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>    }<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span><a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    this.writestate.flushRequested = false;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    this.writestate.compacting.set(0);<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span><a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    if (this.writestate.writesEnabled) {<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>      LOG.debug("Cleaning up temporary data for " + this.getRegionInfo().getEncodedName());<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>      // Remove temporary data left over from old regions<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>      fs.cleanupTempDir();<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>    }<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span><a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    // Initialize split policy<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span><a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>    // Initialize split restriction<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>    splitRestriction = RegionSplitRestriction.create(getTableDescriptor(), conf);<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span><a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>    // Initialize flush policy<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span><a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>    for (HStore store : stores.values()) {<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>    }<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span><a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span>    long nextSeqId = maxSeqId + 1;<a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>    if (!isRestoredRegion) {<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>      // always get openSeqNum from the default replica, even if we are secondary replicas<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>      long maxSeqIdFromFile = WALSplitUtil.getMaxRegionSequenceId(conf,<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>        RegionReplicaUtil.getRegionInfoForDefaultReplica(getRegionInfo()), this::getFilesystem,<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>        this::getWalFileSystem);<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>      nextSeqId = Math.max(maxSeqId, maxSeqIdFromFile) + 1;<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>      // The openSeqNum will always be increase even for read only region, as we rely on it to<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>      // determine whether a region has been successfully reopened, so here we always need to update<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      // the max sequence id file.<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>      if (RegionReplicaUtil.isDefaultReplica(getRegionInfo())) {<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>        LOG.debug("writing seq id for {}", this.getRegionInfo().getEncodedName());<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>        WALSplitUtil.writeRegionSequenceIdFile(getWalFileSystem(), getWALRegionDir(),<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>          nextSeqId - 1);<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>        // This means we have replayed all the recovered edits and also written out the max sequence<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>        // id file, let's delete the wrong directories introduced in HBASE-20734, see HBASE-22617<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>        // for more details.<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>        Path wrongRegionWALDir = CommonFSUtils.getWrongWALRegionDir(conf,<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>          getRegionInfo().getTable(), getRegionInfo().getEncodedName());<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>        FileSystem walFs = getWalFileSystem();<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>        if (walFs.exists(wrongRegionWALDir)) {<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>          if (!walFs.delete(wrongRegionWALDir, true)) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>            LOG.debug("Failed to clean up wrong region WAL directory {}", wrongRegionWALDir);<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>          }<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        }<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      } else {<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>        lastReplayedSequenceId = nextSeqId - 1;<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        replayLock = new ReentrantLock();<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>      initializeRegionReplicationSink(reporter, status);<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    }<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span><a name="line.1079"></a>
-<span class="sourceLineNo">1080</span>    LOG.info("Opened {}; next sequenceid={}; {}, {}", this.getRegionInfo().getShortNameToLog(),<a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>      nextSeqId, this.splitPolicy, this.flushPolicy);<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span><a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    // A region can be reopened if failed a split; reset flags<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>    this.closing.set(false);<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>    this.closed.set(false);<a name="line.1085"></a>
-<span class="sourceLineNo">1086</span><a name="line.1086"></a>
-<span class="sourceLineNo">1087</span>    if (coprocessorHost != null) {<a name="line.1087"></a>
-<span class="sourceLineNo">1088</span>      LOG.debug("Running coprocessor post-open hooks for " + this.getRegionInfo().getEncodedName());<a name="line.1088"></a>
-<span class="sourceLineNo">1089</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.1089"></a>
-<span class="sourceLineNo">1090</span>      coprocessorHost.postOpen();<a name="line.1090"></a>
-<span class="sourceLineNo">1091</span>    }<a name="line.1091"></a>
-<span class="sourceLineNo">1092</span>    status.markComplete("Region opened successfully");<a name="line.1092"></a>
-<span class="sourceLineNo">1093</span>    return nextSeqId;<a name="line.1093"></a>
-<span class="sourceLineNo">1094</span>  }<a name="line.1094"></a>
-<span class="sourceLineNo">1095</span><a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>  private void initializeRegionReplicationSink(CancelableProgressable reporter,<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>    MonitoredTask status) {<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>    RegionServerServices rss = getRegionServerServices();<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>    TableDescriptor td = getTableDescriptor();<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>    int regionReplication = td.getRegionReplication();<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>    RegionInfo regionInfo = getRegionInfo();<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>    if (<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>      regionReplication &lt;= 1 || !RegionReplicaUtil.isDefaultReplica(regionInfo)<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>        || !ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(conf, regionInfo.getTable())<a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>        || rss == null<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>    ) {<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      regionReplicationSink = Optional.empty();<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span>      return;<a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>    }<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span>    status.setStatus("Initializaing region replication sink");<a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>    regionReplicationSink = Optional.of(new RegionReplicationSink(conf, regionInfo, td,<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>      rss.getRegionReplicationBufferManager(), () -&gt; rss.getFlushRequester().requestFlush(this,<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span>        new ArrayList&lt;&gt;(td.getColumnFamilyNames()), FlushLifeCycleTracker.DUMMY),<a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>      rss.getAsyncClusterConnection()));<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>  }<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span><a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>  /**<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   * Open all Stores.<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>   * @return Highest sequenceId found out in a Store.<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>   */<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  private long initializeStores(CancelableProgressable reporter, MonitoredTask status)<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>    throws IOException {<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>    return initializeStores(reporter, status, false);<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  }<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span><a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  private long initializeStores(CancelableProgressable reporter, MonitoredTask status,<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span>    boolean warmup) throws IOException {<a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>    // Load in all the HStores.<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>    long maxSeqId = -1;<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>    long maxMemstoreTS = -1;<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span><a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>    if (htableDescriptor.getColumnFamilyCount() != 0) {<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>      // initialize the thread pool for opening stores in parallel.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>        new ExecutorCompletionService&lt;&gt;(storeOpenerThreadPool);<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span><a name="line.1139"></a>
-<span class="sourceLineNo">1140</span>      // initialize each store in parallel<a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>      for (final ColumnFamilyDescriptor family : htableDescriptor.getColumnFamilies()) {<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>          @Override<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>          public HStore call() throws IOException {<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>            return instantiateHStore(family, warmup);<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>          }<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>        });<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>      }<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>      boolean allStoresOpened = false;<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      boolean hasSloppyStores = false;<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>      try {<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span>        for (int i = 0; i &lt; htableDescriptor.getColumnFamilyCount(); i++) {<a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>          HStore store = future.get();<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>          this.stores.put(store.getColumnFamilyDescriptor().getName(), store);<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>          if (store.isSloppyMemStore()) {<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>            hasSloppyStores = true;<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span>          }<a name="line.1159"></a>
-<span class="sourceLineNo">1160</span><a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>          long storeMaxSequenceId = store.getMaxSequenceId().orElse(0L);<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>          maxSeqIdInStores.put(Bytes.toBytes(store.getColumnFamilyName()), storeMaxSequenceId);<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>            maxSeqId = storeMaxSequenceId;<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>          }<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>          long maxStoreMemstoreTS = store.getMaxMemStoreTS().orElse(0L);<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>          }<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>        }<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>        allStoresOpened = true;<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span>        if (hasSloppyStores) {<a name="line.1172"></a>
-<span class="sourceLineNo">1173</span>          htableDescriptor = TableDescriptorBuilder.newBuilder(htableDescriptor)<a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>            .setFlushPolicyClassName(FlushNonSloppyStoresFirstPolicy.class.getName()).build();<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>          LOG.info("Setting FlushNonSloppyStoresFirstPolicy for the region=" + this);<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>        }<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>      } catch (InterruptedException e) {<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>        throw throwOnInterrupt(e);<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>      } catch (ExecutionException e) {<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span>        throw new IOException(e.getCause());<a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>      } finally {<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>        storeOpenerThreadPool.shutdownNow();<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>        if (!allStoresOpened) {<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>          // something went wrong, close all opened stores<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>          for (HStore store : this.stores.values()) {<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>            try {<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span>              store.close();<a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>            } catch (IOException e) {<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>              LOG.warn("close store {} failed in region {}", store.toString(), this, e);<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>            }<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>          }<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>        }<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>      }<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>    }<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span>  }<a name="line.1197"></a>
-<span class="sourceLineNo">1198</span><a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>    // Initialize all the HStores<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>    status.setStatus("Warmup all stores of " + this.getRegionInfo().getRegionNameAsString());<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span>    try {<a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>      initializeStores(reporter, status, true);<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span>    } finally {<a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>      status.markComplete("Warmed up " + this.getRegionInfo().getRegionNameAsString());<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>    }<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span>  }<a name="line.1208"></a>
-<span class="sourceLineNo">1209</span><a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>  /** Returns Map of StoreFiles by column family */<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>    for (HStore store : stores.values()) {<a name="line.1213"></a>
-<span class="sourceLineNo">1214</span>      Collection&lt;HStoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>      if (storeFiles == null) {<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>        continue;<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>      }<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;&gt;();<a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>      for (HStoreFile storeFile : storeFiles) {<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>        storeFileNames.add(storeFile.getPath());<a name="line.1220"></a>
-<span class="sourceLineNo">1221</span>      }<a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>      allStoreFiles.put(store.getColumnFamilyDescriptor().getName(), storeFileNames);<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>    }<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    return allStoreFiles;<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span>  }<a name="line.1225"></a>
-<span class="sourceLineNo">1226</span><a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  protected void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>    RegionEventDescriptor regionOpenDesc =<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>      ProtobufUtil.toRegionEventDescriptor(RegionEventDescriptor.EventType.REGION_OPEN,<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span>        getRegionInfo(), openSeqId, getRegionServerServices().getServerName(), storeFiles);<a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>    WALUtil.writeRegionEventMarker(wal, getReplicationScope(), getRegionInfo(), regionOpenDesc,<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>      mvcc, regionReplicationSink.orElse(null));<a name="line.1233"></a>
-<span class="sourceLineNo">1234</span>  }<a name="line.1234"></a>
-<span class="sourceLineNo">1235</span><a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span>    // we do not care region close event at secondary replica side so just pass a null<a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>    // RegionReplicationSink<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>    WALUtil.writeRegionEventMarker(wal, getReplicationScope(), getRegionInfo(), regionEventDesc,<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span>      mvcc, null);<a name="line.1244"></a>
-<span class="sourceLineNo">1245</span><a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>    // Store SeqId in WAL FileSystem when a region closes<a name="line.1246"></a>
-<span class="sourceLineNo">1247</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>    // table is still online<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>    if (getWalFileSystem().exists(getWALRegionDir())) {<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      WALSplitUtil.writeRegionSequenceIdFile(getWalFileSystem(), getWALRegionDir(),<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span>        mvcc.getReadPoint());<a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>    }<a name="line.1252"></a>
-<span class="sourceLineNo">1253</span>  }<a name="line.1253"></a>
-<span class="sourceLineNo">1254</span><a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>  /** Returns True if this region has references. */<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>  public boolean hasReferences() {<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span>    return stores.values().stream().anyMatch(HStore::hasReferences);<a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  }<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span><a name="line.1259"></a>
-<span class="sourceLineNo">1260</span>  public void blockUpdates() {<a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>    this.updatesLock.writeLock().lock();<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>  }<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span><a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>  public void unblockUpdates() {<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>    this.updatesLock.writeLock().unlock();<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  }<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span><a name="line.1267"></a>
-<span class="sourceLineNo">1268</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>    stores.values().stream().filter(s -&gt; s.getStorefiles() != null)<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>      .flatMap(s -&gt; s.getStorefiles().stream()).map(HStoreFile::getHDFSBlockDistribution)<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>      .forEachOrdered(hdfsBlocksDistribution::add);<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>    return hdfsBlocksDistribution;<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>  }<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span><a name="line.1275"></a>
-<span class="sourceLineNo">1276</span>  /**<a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * @param conf            configuration<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * @param tableDescriptor TableDescriptor of the table<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * @param regionInfo      encoded name of the region<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(Configuration conf,<a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>    TableDescriptor tableDescriptor, RegionInfo regionInfo) throws IOException {<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>    Path tablePath =<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>      CommonFSUtils.getTableDir(CommonFSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>  }<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span><a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  /**<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span>   * @param conf            configuration<a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>   * @param tableDescriptor TableDescriptor of the table<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>   * @param regionInfo      encoded name of the region<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span>   * @param tablePath       the table directory<a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>   */<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(Configuration conf,<a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>    TableDescriptor tableDescriptor, RegionInfo regionInfo, Path tablePath) throws IOException {<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1301"></a>
-<span class="sourceLineNo">1302</span><a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span>    for (ColumnFamilyDescriptor family : tableDescriptor.getColumnFamilies()) {<a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>      List&lt;LocatedFileStatus&gt; locatedFileStatusList =<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>        HRegionFileSystem.getStoreFilesLocatedStatus(regionFs, family.getNameAsString(), true);<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span>      if (locatedFileStatusList == null) {<a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>        continue;<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      }<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>      for (LocatedFileStatus status : locatedFileStatusList) {<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>        Path p = status.getPath();<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>        if (StoreFileInfo.isReference(p) || HFileLink.isHFileLink(p)) {<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>          // Only construct StoreFileInfo object if its not a hfile, save obj<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span>          // creation<a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>          StoreFileInfo storeFileInfo = new StoreFileInfo(conf, fs, status);<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>        } else if (StoreFileInfo.isHFile(p)) {<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>          // If its a HFile, then lets just add to the block distribution<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>          // lets not create more objects here, not even another HDFSBlocksDistribution<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>          FSUtils.addToHDFSBlocksDistribution(hdfsBlocksDistribution, status.getBlockLocations());<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span>        } else {<a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>          throw new IOException("path=" + p + " doesn't look like a valid StoreFile");<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>        }<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>      }<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>    }<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>    return hdfsBlocksDistribution;<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>  }<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  /**<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>   * Increase the size of mem store in this region and the size of global mem store<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span>   */<a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  private void incMemStoreSize(MemStoreSize mss) {<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>    incMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize(),<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span>      mss.getCellsCount());<a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  }<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span><a name="line.1337"></a>
-<span class="sourceLineNo">1338</span>  void incMemStoreSize(long dataSizeDelta, long heapSizeDelta, long offHeapSizeDelta,<a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>    int cellsCountDelta) {<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span>    if (this.rsAccounting != null) {<a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>      rsAccounting.incGlobalMemStoreSize(dataSizeDelta, heapSizeDelta, offHeapSizeDelta);<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>    }<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>    long dataSize = this.memStoreSizing.incMemStoreSize(dataSizeDelta, heapSizeDelta,<a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>      offHeapSizeDelta, cellsCountDelta);<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span>    checkNegativeMemStoreDataSize(dataSize, dataSizeDelta);<a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>  }<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span><a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>  void decrMemStoreSize(MemStoreSize mss) {<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>    decrMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize(),<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>      mss.getCellsCount());<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>  }<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span><a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  private void decrMemStoreSize(long dataSizeDelta, long heapSizeDelta, long offHeapSizeDelta,<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>    int cellsCountDelta) {<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span>    if (this.rsAccounting != null) {<a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>      rsAccounting.decGlobalMemStoreSize(dataSizeDelta, heapSizeDelta, offHeapSizeDelta);<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>    }<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>    long dataSize = this.memStoreSizing.decMemStoreSize(dataSizeDelta, heapSizeDelta,<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      offHeapSizeDelta, cellsCountDelta);<a name="line.1359"></a>
-<span class="sourceLineNo">1360</span>    checkNegativeMemStoreDataSize(dataSize, -dataSizeDelta);<a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>  }<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span><a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  private void checkNegativeMemStoreDataSize(long memStoreDataSize, long delta) {<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span>    // This is extremely bad if we make memStoreSizing negative. Log as much info on the offending<a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>    // caller as possible. (memStoreSizing might be a negative value already -- freeing memory)<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>    if (memStoreDataSize &lt; 0) {<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>      LOG.error("Asked to modify this region's (" + this.toString()<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>        + ") memStoreSizing to a negative value which is incorrect. Current memStoreSizing="<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span>        + (memStoreDataSize - delta) + ", delta=" + delta, new Exception());<a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>    }<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>  }<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span><a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>  @Override<a name="line.1373"></a>
-<span class="sourceLineNo">1374</span>  public RegionInfo getRegionInfo() {<a name="line.1374"></a>
-<span class="sourceLineNo">1375</span>    return this.fs.getRegionInfo();<a name="line.1375"></a>
-<span class="sourceLineNo">1376</span>  }<a name="line.1376"></a>
-<span class="sourceLineNo">1377</span><a name="line.1377"></a>
-<span class="sourceLineNo">1378</span>  /**<a name="line.1378"></a>
-<span class="sourceLineNo">1379</span>   * Returns Instance of {@link RegionServerServices} used by this HRegion. Can be null.<a name="line.1379"></a>
-<span class="sourceLineNo">1380</span>   */<a name="line.1380"></a>
-<span class="sourceLineNo">1381</span>  RegionServerServices getRegionServerServices() {<a name="line.1381"></a>
-<span class="sourceLineNo">1382</span>    return this.rsServices;<a name="line.1382"></a>
-<span class="sourceLineNo">1383</span>  }<a name="line.1383"></a>
-<span class="sourceLineNo">1384</span><a name="line.1384"></a>
-<span class="sourceLineNo">1385</span>  @Override<a name="line.1385"></a>
-<span class="sourceLineNo">1386</span>  public long getReadRequestsCount() {<a name="line.1386"></a>
-<span class="sourceLineNo">1387</span>    return readRequestsCount.sum();<a name="line.1387"></a>
-<span class="sourceLineNo">1388</span>  }<a name="line.1388"></a>
-<span class="sourceLineNo">1389</span><a name="line.1389"></a>
-<span class="sourceLineNo">1390</span>  @Override<a name="line.1390"></a>
-<span class="sourceLineNo">1391</span>  public long getCpRequestsCount() {<a name="line.1391"></a>
-<span class="sourceLineNo">1392</span>    return cpRequestsCount.sum();<a name="line.1392"></a>
-<span class="sourceLineNo">1393</span>  }<a name="line.1393"></a>
-<span class="sourceLineNo">1394</span><a name="line.1394"></a>
-<span class="sourceLineNo">1395</span>  @Override<a name="line.1395"></a>
-<span class="sourceLineNo">1396</span>  public long getFilteredReadRequestsCount() {<a name="line.1396"></a>
-<span class="sourceLineNo">1397</span>    return filteredReadRequestsCount.sum();<a name="line.1397"></a>
-<span class="sourceLineNo">1398</span>  }<a name="line.1398"></a>
-<span class="sourceLineNo">1399</span><a name="line.1399"></a>
-<span class="sourceLineNo">1400</span>  @Override<a name="line.1400"></a>
-<span class="sourceLineNo">1401</span>  public long getWriteRequestsCount() {<a name="line.1401"></a>
-<span class="sourceLineNo">1402</span>    return writeRequestsCount.sum();<a name="line.1402"></a>
-<span class="sourceLineNo">1403</span>  }<a name="line.1403"></a>
-<span class="sourceLineNo">1404</span><a name="line.1404"></a>
-<span class="sourceLineNo">1405</span>  @Override<a name="line.1405"></a>
-<span class="sourceLineNo">1406</span>  public long getMemStoreDataSize() {<a name="line.1406"></a>
-<span class="sourceLineNo">1407</span>    return memStoreSizing.getDataSize();<a name="line.1407"></a>
-<span class="sourceLineNo">1408</span>  }<a name="line.1408"></a>
-<span class="sourceLineNo">1409</span><a name="line.1409"></a>
-<span class="sourceLineNo">1410</span>  @Override<a name="line.1410"></a>
-<span class="sourceLineNo">1411</span>  public long getMemStoreHeapSize() {<a name="line.1411"></a>
-<span class="sourceLineNo">1412</span>    return memStoreSizing.getHeapSize();<a name="line.1412"></a>
-<span class="sourceLineNo">1413</span>  }<a name="line.1413"></a>
-<span class="sourceLineNo">1414</span><a name="line.1414"></a>
-<span class="sourceLineNo">1415</span>  @Override<a name="line.1415"></a>
-<span class="sourceLineNo">1416</span>  public long getMemStoreOffHeapSize() {<a name="line.1416"></a>
-<span class="sourceLineNo">1417</span>    return memStoreSizing.getOffHeapSize();<a name="line.1417"></a>
-<span class="sourceLineNo">1418</span>  }<a name="line.1418"></a>
-<span class="sourceLineNo">1419</span><a name="line.1419"></a>
-<span class="sourceLineNo">1420</span>  /** Returns store services for this region, to access services required by store level needs */<a name="line.1420"></a>
-<span class="sourceLineNo">1421</span>  public RegionServicesForStores getRegionServicesForStores() {<a name="line.1421"></a>
-<span class="sourceLineNo">1422</span>    return regionServicesForStores;<a name="line.1422"></a>
-<span class="sourceLineNo">1423</span>  }<a name="line.1423"></a>
-<span class="sourceLineNo">1424</span><a name="line.1424"></a>
-<span class="sourceLineNo">1425</span>  @Override<a name="line.1425"></a>
-<span class="sourceLineNo">1426</span>  public long getNumMutationsWithoutWAL() {<a name="line.1426"></a>
-<span class="sourceLineNo">1427</span>    return numMutationsWithoutWAL.sum();<a name="line.1427"></a>
-<span class="sourceLineNo">1428</span>  }<a name="line.1428"></a>
-<span class="sourceLineNo">1429</span><a name="line.1429"></a>
-<span class="sourceLineNo">1430</span>  @Override<a name="line.1430"></a>
-<span class="sourceLineNo">1431</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1431"></a>
-<span class="sourceLineNo">1432</span>    return dataInMemoryWithoutWAL.sum();<a name="line.1432"></a>
-<span class="sourceLineNo">1433</span>  }<a name="line.1433"></a>
-<span class="sourceLineNo">1434</span><a name="line.1434"></a>
-<span class="sourceLineNo">1435</span>  @Override<a name="line.1435"></a>
-<span class="sourceLineNo">1436</span>  public long getBlockedRequestsCount() {<a name="line.1436"></a>
-<span class="sourceLineNo">1437</span>    return blockedRequestsCount.sum();<a name="line.1437"></a>
-<span class="sourceLineNo">1438</span>  }<a name="line.1438"></a>
-<span class="sourceLineNo">1439</span><a name="line.1439"></a>
-<span class="sourceLineNo">1440</span>  @Override<a name="line.1440"></a>
-<span class="sourceLineNo">1441</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1441"></a>
-<span class="sourceLineNo">1442</span>    return checkAndMutateChecksPassed.sum();<a name="line.1442"></a>
-<span class="sourceLineNo">1443</span>  }<a name="line.1443"></a>
-<span class="sourceLineNo">1444</span><a name="line.1444"></a>
-<span class="sourceLineNo">1445</span>  @Override<a name="line.1445"></a>
-<span class="sourceLineNo">1446</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1446"></a>
-<span class="sourceLineNo">1447</span>    return checkAndMutateChecksFailed.sum();<a name="line.1447"></a>
-<span class="sourceLineNo">1448</span>  }<a name="line.1448"></a>
-<span class="sourceLineNo">1449</span><a name="line.1449"></a>
-<span class="sourceLineNo">1450</span>  // TODO Needs to check whether we should expose our metrics system to CPs. If CPs themselves doing<a name="line.1450"></a>
-<span class="sourceLineNo">1451</span>  // the op and bypassing the core, this might be needed? Should be stop supporting the bypass<a name="line.1451"></a>
-<span class="sourceLineNo">1452</span>  // feature?<a name="line.1452"></a>
-<span class="sourceLineNo">1453</span>  public MetricsRegion getMetrics() {<a name="line.1453"></a>
-<span class="sourceLineNo">1454</span>    return metricsRegion;<a name="line.1454"></a>
-<span class="sourceLineNo">1455</span>  }<a name="line.1455"></a>
-<span class="sourceLineNo">1456</span><a name="line.1456"></a>
-<span class="sourceLineNo">1457</span>  @Override<a name="line.1457"></a>
-<span class="sourceLineNo">1458</span>  public boolean isClosed() {<a name="line.1458"></a>
-<span class="sourceLineNo">1459</span>    return this.closed.get();<a name="line.1459"></a>
-<span class="sourceLineNo">1460</span>  }<a name="line.1460"></a>
-<span class="sourceLineNo">1461</span><a name="line.1461"></a>
-<span class="sourceLineNo">1462</span>  @Override<a name="line.1462"></a>
-<span class="sourceLineNo">1463</span>  public boolean isClosing() {<a name="line.1463"></a>
-<span class="sourceLineNo">1464</span>    return this.closing.get();<a name="line.1464"></a>
-<span class="sourceLineNo">1465</span>  }<a name="line.1465"></a>
-<span class="sourceLineNo">1466</span><a name="line.1466"></a>
-<span class="sourceLineNo">1467</span>  @Override<a name="line.1467"></a>
-<span class="sourceLineNo">1468</span>  public boolean isReadOnly() {<a name="line.1468"></a>
-<span class="sourceLineNo">1469</span>    return this.writestate.isReadOnly();<a name="line.1469"></a>
-<span class="sourceLineNo">1470</span>  }<a name="line.1470"></a>
-<span class="sourceLineNo">1471</span><a name="line.1471"></a>
-<span class="sourceLineNo">1472</span>  @Override<a name="line.1472"></a>
-<span class="sourceLineNo">1473</span>  public boolean isAvailable() {<a name="line.1473"></a>
-<span class="sourceLineNo">1474</span>    return !isClosed() &amp;&amp; !isClosing();<a name="line.1474"></a>
-<span class="sourceLineNo">1475</span>  }<a name="line.1475"></a>
-<span class="sourceLineNo">1476</span><a name="line.1476"></a>
-<span class="sourceLineNo">1477</span>  @Override<a name="line.1477"></a>
-<span class="sourceLineNo">1478</span>  public boolean isSplittable() {<a name="line.1478"></a>
-<span class="sourceLineNo">1479</span>    return splitPolicy.canSplit();<a name="line.1479"></a>
-<span class="sourceLineNo">1480</span>  }<a name="line.1480"></a>
-<span class="sourceLineNo">1481</span><a name="line.1481"></a>
-<span class="sourceLineNo">1482</span>  @Override<a name="line.1482"></a>
-<span class="sourceLineNo">1483</span>  public boolean isMergeable() {<a name="line.1483"></a>
-<span class="sourceLineNo">1484</span>    if (!isAvailable()) {<a name="line.1484"></a>
-<span class="sourceLineNo">1485</span>      LOG.debug("Region " + this + " is not mergeable because it is closing or closed");<a name="line.1485"></a>
-<span class="sourceLineNo">1486</span>      return false;<a name="line.1486"></a>
-<span class="sourceLineNo">1487</span>    }<a name="line.1487"></a>
-<span class="sourceLineNo">1488</span>    if (hasReferences()) {<a name="line.1488"></a>
-<span class="sourceLineNo">1489</span>      LOG.debug("Region " + this + " is not mergeable because it has references");<a name="line.1489"></a>
-<span class="sourceLineNo">1490</span>      return false;<a name="line.1490"></a>
-<span class="sourceLineNo">1491</span>    }<a name="line.1491"></a>
-<span class="sourceLineNo">1492</span><a name="line.1492"></a>
-<span class="sourceLineNo">1493</span>    return true;<a name="line.1493"></a>
-<span class="sourceLineNo">1494</span>  }<a name="line.1494"></a>
-<span class="sourceLineNo">1495</span><a name="line.1495"></a>
-<span class="sourceLineNo">1496</span>  public boolean areWritesEnabled() {<a name="line.1496"></a>
-<span class="sourceLineNo">1497</span>    synchronized (this.writestate) {<a name="line.1497"></a>
-<span class="sourceLineNo">1498</span>      return this.writestate.writesEnabled;<a name="line.1498"></a>
-<span class="sourceLineNo">1499</span>    }<a name="line.1499"></a>
-<span class="sourceLineNo">1500</span>  }<a name="line.1500"></a>
-<span class="sourceLineNo">1501</span><a name="line.1501"></a>
-<span class="sourceLineNo">1502</span>  public MultiVersionConcurrencyControl getMVCC() {<a name="line.1502"></a>
-<span class="sourceLineNo">1503</span>    return mvcc;<a name="line.1503"></a>
-<span class="sourceLineNo">1504</span>  }<a name="line.1504"></a>
-<span class="sourceLineNo">1505</span><a name="line.1505"></a>
-<span class="sourceLineNo">1506</span>  @Override<a name="line.1506"></a>
-<span class="sourceLineNo">1507</span>  public long getMaxFlushedSeqId() {<a name="line.1507"></a>
-<span class="sourceLineNo">1508</span>    return maxFlushedSeqId;<a name="line.1508"></a>
-<span class="sourceLineNo">1509</span>  }<a name="line.1509"></a>
-<span class="sourceLineNo">1510</span><a name="line.1510"></a>
-<span class="sourceLineNo">1511</span>  /** Returns readpoint considering given IsolationLevel. Pass {@code null} for default */<a name="line.1511"></a>
-<span class="sourceLineNo">1512</span>  public long getReadPoint(IsolationLevel isolationLevel) {<a name="line.1512"></a>
-<span class="sourceLineNo">1513</span>    if (isolationLevel != null &amp;&amp; isolationLevel == IsolationLevel.READ_UNCOMMITTED) {<a name="line.1513"></a>
-<span class="sourceLineNo">1514</span>      // This scan can read even uncommitted transactions<a name="line.1514"></a>
-<span class="sourceLineNo">1515</span>      return Long.MAX_VALUE;<a name="line.1515"></a>
-<span class="sourceLineNo">1516</span>    }<a name="line.1516"></a>
-<span class="sourceLineNo">1517</span>    return mvcc.getReadPoint();<a name="line.1517"></a>
-<span class="sourceLineNo">1518</span>  }<a name="line.1518"></a>
-<span class="sourceLineNo">1519</span><a name="line.1519"></a>
-<span class="sourceLineNo">1520</span>  public boolean isLoadingCfsOnDemandDefault() {<a name="line.1520"></a>
-<span class="sourceLineNo">1521</span>    return this.isLoadingCfsOnDemandDefault;<a name="line.1521"></a>
-<span class="sourceLineNo">1522</span>  }<a name="line.1522"></a>
-<span class="sourceLineNo">1523</span><a name="line.1523"></a>
-<span class="sourceLineNo">1524</span>  /**<a name="line.1524"></a>
-<span class="sourceLineNo">1525</span>   * Close down this HRegion. Flush the cache, shut down each HStore, don't service any more calls.<a name="line.1525"></a>
-<span class="sourceLineNo">1526</span>   * &lt;p&gt;<a name="line.1526"></a>
-<span class="sourceLineNo">1527</span>   * This method could take some time to execute, so don't call it from a time-sensitive thread.<a name="line.1527"></a>
-<span class="sourceLineNo">1528</span>   * @return Vector of all the storage files that the HRegion's component HStores make use of. It's<a name="line.1528"></a>
-<span class="sourceLineNo">1529</span>   *         a list of all StoreFile objects. Returns empty vector if already closed and null if<a name="line.1529"></a>
-<span class="sourceLineNo">1530</span>   *         judged that it should not close.<a name="line.1530"></a>
-<span class="sourceLineNo">1531</span>   * @throws IOException              e<a name="line.1531"></a>
-<span class="sourceLineNo">1532</span>   * @throws DroppedSnapshotException Thrown when replay of wal is required because a Snapshot was<a name="line.1532"></a>
-<span class="sourceLineNo">1533</span>   *                                  not properly persisted. The region is put in closing mode, and<a name="line.1533"></a>
-<span class="sourceLineNo">1534</span>   *                                  the caller MUST abort after this.<a name="line.1534"></a>
-<span class="sourceLineNo">1535</span>   */<a name="line.1535"></a>
-<span class="sourceLineNo">1536</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close() throws IOException {<a name="line.1536"></a>
-<span class="sourceLineNo">1537</span>    return close(false);<a name="line.1537"></a>
-<span class="sourceLineNo">1538</span>  }<a name="line.1538"></a>
-<span class="sourceLineNo">1539</span><a name="line.1539"></a>
-<span class="sourceLineNo">1540</span>  private final Object closeLock = new Object();<a name="line.1540"></a>
+<span class="sourceLineNo">875</span>    configurationManager = null;<a name="line.875"></a>
+<span class="sourceLineNo">876</span><a name="line.876"></a>
+<span class="sourceLineNo">877</span>    // disable stats tracking system tables, but check the config for everything else<a name="line.877"></a>
+<span class="sourceLineNo">878</span>    this.regionStatsEnabled = htd.getTableName().getNamespaceAsString()<a name="line.878"></a>
+<span class="sourceLineNo">879</span>      .equals(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR)<a name="line.879"></a>
+<span class="sourceLineNo">880</span>        ? false<a name="line.880"></a>
+<span class="sourceLineNo">881</span>        : conf.getBoolean(HConstants.ENABLE_CLIENT_BACKPRESSURE,<a name="line.881"></a>
+<span class="sourceLineNo">882</span>          HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE);<a name="line.882"></a>
+<span class="sourceLineNo">883</span><a name="line.883"></a>
+<span class="sourceLineNo">884</span>    this.maxCellSize = conf.getLong(HBASE_MAX_CELL_SIZE_KEY, DEFAULT_MAX_CELL_SIZE);<a name="line.884"></a>
+<span class="sourceLineNo">885</span>    this.miniBatchSize =<a name="line.885"></a>
+<span class="sourceLineNo">886</span>      conf.getInt(HBASE_REGIONSERVER_MINIBATCH_SIZE, DEFAULT_HBASE_REGIONSERVER_MINIBATCH_SIZE);<a name="line.886"></a>
+<span class="sourceLineNo">887</span><a name="line.887"></a>
+<span class="sourceLineNo">888</span>    // recover the metrics of read and write requests count if they were retained<a name="line.888"></a>
+<span class="sourceLineNo">889</span>    if (rsServices != null &amp;&amp; rsServices.getRegionServerAccounting() != null) {<a name="line.889"></a>
+<span class="sourceLineNo">890</span>      Pair&lt;Long, Long&gt; retainedRWRequestsCnt = rsServices.getRegionServerAccounting()<a name="line.890"></a>
+<span class="sourceLineNo">891</span>        .getRetainedRegionRWRequestsCnt().get(getRegionInfo().getEncodedName());<a name="line.891"></a>
+<span class="sourceLineNo">892</span>      if (retainedRWRequestsCnt != null) {<a name="line.892"></a>
+<span class="sourceLineNo">893</span>        this.addReadRequestsCount(retainedRWRequestsCnt.getFirst());<a name="line.893"></a>
+<span class="sourceLineNo">894</span>        this.addWriteRequestsCount(retainedRWRequestsCnt.getSecond());<a name="line.894"></a>
+<span class="sourceLineNo">895</span>        // remove them since won't use again<a name="line.895"></a>
+<span class="sourceLineNo">896</span>        rsServices.getRegionServerAccounting().getRetainedRegionRWRequestsCnt()<a name="line.896"></a>
+<span class="sourceLineNo">897</span>          .remove(getRegionInfo().getEncodedName());<a name="line.897"></a>
+<span class="sourceLineNo">898</span>      }<a name="line.898"></a>
+<span class="sourceLineNo">899</span>    }<a name="line.899"></a>
+<span class="sourceLineNo">900</span>  }<a name="line.900"></a>
+<span class="sourceLineNo">901</span><a name="line.901"></a>
+<span class="sourceLineNo">902</span>  private void setHTableSpecificConf() {<a name="line.902"></a>
+<span class="sourceLineNo">903</span>    if (this.htableDescriptor == null) {<a name="line.903"></a>
+<span class="sourceLineNo">904</span>      return;<a name="line.904"></a>
+<span class="sourceLineNo">905</span>    }<a name="line.905"></a>
+<span class="sourceLineNo">906</span>    long flushSize = this.htableDescriptor.getMemStoreFlushSize();<a name="line.906"></a>
+<span class="sourceLineNo">907</span><a name="line.907"></a>
+<span class="sourceLineNo">908</span>    if (flushSize &lt;= 0) {<a name="line.908"></a>
+<span class="sourceLineNo">909</span>      flushSize = conf.getLong(HConstants.HREGION_MEMSTORE_FLUSH_SIZE,<a name="line.909"></a>
+<span class="sourceLineNo">910</span>        TableDescriptorBuilder.DEFAULT_MEMSTORE_FLUSH_SIZE);<a name="line.910"></a>
+<span class="sourceLineNo">911</span>    }<a name="line.911"></a>
+<span class="sourceLineNo">912</span>    this.memstoreFlushSize = flushSize;<a name="line.912"></a>
+<span class="sourceLineNo">913</span>    long mult = conf.getLong(HConstants.HREGION_MEMSTORE_BLOCK_MULTIPLIER,<a name="line.913"></a>
+<span class="sourceLineNo">914</span>      HConstants.DEFAULT_HREGION_MEMSTORE_BLOCK_MULTIPLIER);<a name="line.914"></a>
+<span class="sourceLineNo">915</span>    this.blockingMemStoreSize = this.memstoreFlushSize * mult;<a name="line.915"></a>
+<span class="sourceLineNo">916</span>  }<a name="line.916"></a>
+<span class="sourceLineNo">917</span><a name="line.917"></a>
+<span class="sourceLineNo">918</span>  /**<a name="line.918"></a>
+<span class="sourceLineNo">919</span>   * Initialize this region. Used only by tests and SplitTransaction to reopen the region. You<a name="line.919"></a>
+<span class="sourceLineNo">920</span>   * should use createHRegion() or openHRegion()<a name="line.920"></a>
+<span class="sourceLineNo">921</span>   * @return What the next sequence (edit) id should be.<a name="line.921"></a>
+<span class="sourceLineNo">922</span>   * @throws IOException e<a name="line.922"></a>
+<span class="sourceLineNo">923</span>   * @deprecated use HRegion.createHRegion() or HRegion.openHRegion()<a name="line.923"></a>
+<span class="sourceLineNo">924</span>   */<a name="line.924"></a>
+<span class="sourceLineNo">925</span>  @Deprecated<a name="line.925"></a>
+<span class="sourceLineNo">926</span>  public long initialize() throws IOException {<a name="line.926"></a>
+<span class="sourceLineNo">927</span>    return initialize(null);<a name="line.927"></a>
+<span class="sourceLineNo">928</span>  }<a name="line.928"></a>
+<span class="sourceLineNo">929</span><a name="line.929"></a>
+<span class="sourceLineNo">930</span>  /**<a name="line.930"></a>
+<span class="sourceLineNo">931</span>   * Initialize this region.<a name="line.931"></a>
+<span class="sourceLineNo">932</span>   * @param reporter Tickle every so often if initialize is taking a while.<a name="line.932"></a>
+<span class="sourceLineNo">933</span>   * @return What the next sequence (edit) id should be.<a name="line.933"></a>
+<span class="sourceLineNo">934</span>   */<a name="line.934"></a>
+<span class="sourceLineNo">935</span>  long initialize(final CancelableProgressable reporter) throws IOException {<a name="line.935"></a>
+<span class="sourceLineNo">936</span><a name="line.936"></a>
+<span class="sourceLineNo">937</span>    // Refuse to open the region if there is no column family in the table<a name="line.937"></a>
+<span class="sourceLineNo">938</span>    if (htableDescriptor.getColumnFamilyCount() == 0) {<a name="line.938"></a>
+<span class="sourceLineNo">939</span>      throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()<a name="line.939"></a>
+<span class="sourceLineNo">940</span>        + " should have at least one column family.");<a name="line.940"></a>
+<span class="sourceLineNo">941</span>    }<a name="line.941"></a>
+<span class="sourceLineNo">942</span><a name="line.942"></a>
+<span class="sourceLineNo">943</span>    MonitoredTask status =<a name="line.943"></a>
+<span class="sourceLineNo">944</span>      TaskMonitor.get().createStatus("Initializing region " + this, false, true);<a name="line.944"></a>
+<span class="sourceLineNo">945</span>    long nextSeqId = -1;<a name="line.945"></a>
+<span class="sourceLineNo">946</span>    try {<a name="line.946"></a>
+<span class="sourceLineNo">947</span>      nextSeqId = initializeRegionInternals(reporter, status);<a name="line.947"></a>
+<span class="sourceLineNo">948</span>      return nextSeqId;<a name="line.948"></a>
+<span class="sourceLineNo">949</span>    } catch (IOException e) {<a name="line.949"></a>
+<span class="sourceLineNo">950</span>      LOG.warn("Failed initialize of region= {}, starting to roll back memstore",<a name="line.950"></a>
+<span class="sourceLineNo">951</span>        getRegionInfo().getRegionNameAsString(), e);<a name="line.951"></a>
+<span class="sourceLineNo">952</span>      // global memstore size will be decreased when dropping memstore<a name="line.952"></a>
+<span class="sourceLineNo">953</span>      try {<a name="line.953"></a>
+<span class="sourceLineNo">954</span>        // drop the memory used by memstore if open region fails<a name="line.954"></a>
+<span class="sourceLineNo">955</span>        dropMemStoreContents();<a name="line.955"></a>
+<span class="sourceLineNo">956</span>      } catch (IOException ioE) {<a name="line.956"></a>
+<span class="sourceLineNo">957</span>        if (conf.getBoolean(MemStoreLAB.USEMSLAB_KEY, MemStoreLAB.USEMSLAB_DEFAULT)) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span>          LOG.warn(<a name="line.958"></a>
+<span class="sourceLineNo">959</span>            "Failed drop memstore of region= {}, "<a name="line.959"></a>
+<span class="sourceLineNo">960</span>              + "some chunks may not released forever since MSLAB is enabled",<a name="line.960"></a>
+<span class="sourceLineNo">961</span>            getRegionInfo().getRegionNameAsString());<a name="line.961"></a>
+<span class="sourceLineNo">962</span>        }<a name="line.962"></a>
+<span class="sourceLineNo">963</span><a name="line.963"></a>
+<span class="sourceLineNo">964</span>      }<a name="line.964"></a>
+<span class="sourceLineNo">965</span>      throw e;<a name="line.965"></a>
+<span class="sourceLineNo">966</span>    } finally {<a name="line.966"></a>
+<span class="sourceLineNo">967</span>      // nextSeqid will be -1 if the initialization fails.<a name="line.967"></a>
+<span class="sourceLineNo">968</span>      // At least it will be 0 otherwise.<a name="line.968"></a>
+<span class="sourceLineNo">969</span>      if (nextSeqId == -1) {<a name="line.969"></a>
+<span class="sourceLineNo">970</span>        status.abort("Exception during region " + getRegionInfo().getRegionNameAsString()<a name="line.970"></a>
+<span class="sourceLineNo">971</span>          + " initialization.");<a name="line.971"></a>
+<span class="sourceLineNo">972</span>      }<a name="line.972"></a>
+<span class="sourceLineNo">973</span>      if (LOG.isDebugEnabled()) {<a name="line.973"></a>
+<span class="sourceLineNo">974</span>        LOG.debug("Region open journal for {}:\n{}", this.getRegionInfo().getEncodedName(),<a name="line.974"></a>
+<span class="sourceLineNo">975</span>          status.prettyPrintJournal());<a name="line.975"></a>
+<span class="sourceLineNo">976</span>      }<a name="line.976"></a>
+<span class="sourceLineNo">977</span>      status.cleanup();<a name="line.977"></a>
+<span class="sourceLineNo">978</span>    }<a name="line.978"></a>
+<span class="sourceLineNo">979</span>  }<a name="line.979"></a>
+<span class="sourceLineNo">980</span><a name="line.980"></a>
+<span class="sourceLineNo">981</span>  private long initializeRegionInternals(final CancelableProgressable reporter,<a name="line.981"></a>
+<span class="sourceLineNo">982</span>    final MonitoredTask status) throws IOException {<a name="line.982"></a>
+<span class="sourceLineNo">983</span>    if (coprocessorHost != null) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span>      status.setStatus("Running coprocessor pre-open hook");<a name="line.984"></a>
+<span class="sourceLineNo">985</span>      coprocessorHost.preOpen();<a name="line.985"></a>
+<span class="sourceLineNo">986</span>    }<a name="line.986"></a>
+<span class="sourceLineNo">987</span><a name="line.987"></a>
+<span class="sourceLineNo">988</span>    String policyName = this.conf.get(REGION_STORAGE_POLICY_KEY, DEFAULT_REGION_STORAGE_POLICY);<a name="line.988"></a>
+<span class="sourceLineNo">989</span>    this.fs.setStoragePolicy(policyName.trim());<a name="line.989"></a>
+<span class="sourceLineNo">990</span><a name="line.990"></a>
+<span class="sourceLineNo">991</span>    // Write HRI to a file in case we need to recover hbase:meta<a name="line.991"></a>
+<span class="sourceLineNo">992</span>    // Only the primary replica should write .regioninfo<a name="line.992"></a>
+<span class="sourceLineNo">993</span>    if (this.getRegionInfo().getReplicaId() == RegionInfo.DEFAULT_REPLICA_ID) {<a name="line.993"></a>
+<span class="sourceLineNo">994</span>      status.setStatus("Writing region info on filesystem");<a name="line.994"></a>
+<span class="sourceLineNo">995</span>      fs.checkRegionInfoOnFilesystem();<a name="line.995"></a>
+<span class="sourceLineNo">996</span>    }<a name="line.996"></a>
+<span class="sourceLineNo">997</span><a name="line.997"></a>
+<span class="sourceLineNo">998</span>    // Initialize all the HStores<a name="line.998"></a>
+<span class="sourceLineNo">999</span>    status.setStatus("Initializing all the Stores");<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>    long maxSeqId = initializeStores(reporter, status);<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    this.mvcc.advanceTo(maxSeqId);<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    if (!isRestoredRegion &amp;&amp; ServerRegionReplicaUtil.shouldReplayRecoveredEdits(this)) {<a name="line.1002"></a>
+<span class="sourceLineNo">1003</span>      Collection&lt;HStore&gt; stores = this.stores.values();<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span>      try {<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>        // update the stores that we are replaying<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>        LOG.debug("replaying wal for " + this.getRegionInfo().getEncodedName());<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>        stores.forEach(HStore::startReplayingFromWAL);<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span>        // Recover any edits if available.<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>        maxSeqId =<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>          Math.max(maxSeqId, replayRecoveredEditsIfAny(maxSeqIdInStores, reporter, status));<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>        // Recover any hfiles if available<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>        maxSeqId = Math.max(maxSeqId, loadRecoveredHFilesIfAny(stores));<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span>        // Make sure mvcc is up to max.<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>        this.mvcc.advanceTo(maxSeqId);<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>      } finally {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>        LOG.debug("stopping wal replay for " + this.getRegionInfo().getEncodedName());<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>        // update the stores that we are done replaying<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span>        stores.forEach(HStore::stopReplayingFromWAL);<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>      }<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>    }<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    this.lastReplayedOpenRegionSeqId = maxSeqId;<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span><a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>    this.writestate.setReadOnly(ServerRegionReplicaUtil.isReadOnly(this));<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>    this.writestate.flushRequested = false;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>    this.writestate.compacting.set(0);<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span><a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    if (this.writestate.writesEnabled) {<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>      LOG.debug("Cleaning up temporary data for " + this.getRegionInfo().getEncodedName());<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>      // Remove temporary data left over from old regions<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span>      status.setStatus("Cleaning up temporary data from old regions");<a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>      fs.cleanupTempDir();<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>    }<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span><a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>    // Initialize split policy<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>    this.splitPolicy = RegionSplitPolicy.create(this, conf);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span><a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>    // Initialize split restriction<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>    splitRestriction = RegionSplitRestriction.create(getTableDescriptor(), conf);<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span><a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>    // Initialize flush policy<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>    this.flushPolicy = FlushPolicyFactory.create(this, conf);<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span><a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>    long lastFlushTime = EnvironmentEdgeManager.currentTime();<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>    for (HStore store : stores.values()) {<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>      this.lastStoreFlushTimeMap.put(store, lastFlushTime);<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>    }<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span><a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    // Use maximum of log sequenceid or that which was found in stores<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>    // (particularly if no recovered edits, seqid will be -1).<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span>    long nextSeqId = maxSeqId + 1;<a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>    if (!isRestoredRegion) {<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>      // always get openSeqNum from the default replica, even if we are secondary replicas<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>      long maxSeqIdFromFile = WALSplitUtil.getMaxRegionSequenceId(conf,<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>        RegionReplicaUtil.getRegionInfoForDefaultReplica(getRegionInfo()), this::getFilesystem,<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>        this::getWalFileSystem);<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>      nextSeqId = Math.max(maxSeqId, maxSeqIdFromFile) + 1;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>      // The openSeqNum will always be increase even for read only region, as we rely on it to<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>      // determine whether a region has been successfully reopened, so here we always need to update<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>      // the max sequence id file.<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>      if (RegionReplicaUtil.isDefaultReplica(getRegionInfo())) {<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>        LOG.debug("writing seq id for {}", this.getRegionInfo().getEncodedName());<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>        WALSplitUtil.writeRegionSequenceIdFile(getWalFileSystem(), getWALRegionDir(),<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>          nextSeqId - 1);<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>        // This means we have replayed all the recovered edits and also written out the max sequence<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>        // id file, let's delete the wrong directories introduced in HBASE-20734, see HBASE-22617<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>        // for more details.<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>        Path wrongRegionWALDir = CommonFSUtils.getWrongWALRegionDir(conf,<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>          getRegionInfo().getTable(), getRegionInfo().getEncodedName());<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>        FileSystem walFs = getWalFileSystem();<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>        if (walFs.exists(wrongRegionWALDir)) {<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>          if (!walFs.delete(wrongRegionWALDir, true)) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>            LOG.debug("Failed to clean up wrong region WAL directory {}", wrongRegionWALDir);<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>          }<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        }<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      } else {<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>        lastReplayedSequenceId = nextSeqId - 1;<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>        replayLock = new ReentrantLock();<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>      }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>      initializeRegionReplicationSink(reporter, status);<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>    }<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span><a name="line.1081"></a>
+<span class="sourceLineNo">1082</span>    LOG.info("Opened {}; next sequenceid={}; {}, {}", this.getRegionInfo().getShortNameToLog(),<a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>      nextSeqId, this.splitPolicy, this.flushPolicy);<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span><a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>    // A region can be reopened if failed a split; reset flags<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>    this.closing.set(false);<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>    this.closed.set(false);<a name="line.1087"></a>
+<span class="sourceLineNo">1088</span><a name="line.1088"></a>
+<span class="sourceLineNo">1089</span>    if (coprocessorHost != null) {<a name="line.1089"></a>
+<span class="sourceLineNo">1090</span>      LOG.debug("Running coprocessor post-open hooks for " + this.getRegionInfo().getEncodedName());<a name="line.1090"></a>
+<span class="sourceLineNo">1091</span>      status.setStatus("Running coprocessor post-open hooks");<a name="line.1091"></a>
+<span class="sourceLineNo">1092</span>      coprocessorHost.postOpen();<a name="line.1092"></a>
+<span class="sourceLineNo">1093</span>    }<a name="line.1093"></a>
+<span class="sourceLineNo">1094</span>    status.markComplete("Region opened successfully");<a name="line.1094"></a>
+<span class="sourceLineNo">1095</span>    return nextSeqId;<a name="line.1095"></a>
+<span class="sourceLineNo">1096</span>  }<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span><a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  private void initializeRegionReplicationSink(CancelableProgressable reporter,<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>    MonitoredTask status) {<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span>    RegionServerServices rss = getRegionServerServices();<a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>    TableDescriptor td = getTableDescriptor();<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>    int regionReplication = td.getRegionReplication();<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>    RegionInfo regionInfo = getRegionInfo();<a name="line.1103"></a>
+<span class="sourceLineNo">1104</span>    if (<a name="line.1104"></a>
+<span class="sourceLineNo">1105</span>      regionReplication &lt;= 1 || !RegionReplicaUtil.isDefaultReplica(regionInfo)<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span>        || !ServerRegionReplicaUtil.isRegionReplicaReplicationEnabled(conf, regionInfo.getTable())<a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>        || rss == null<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>    ) {<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span>      regionReplicationSink = Optional.empty();<a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>      return;<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>    }<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>    status.setStatus("Initializaing region replication sink");<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>    regionReplicationSink = Optional.of(new RegionReplicationSink(conf, regionInfo, td,<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>      rss.getRegionReplicationBufferManager(), () -&gt; rss.getFlushRequester().requestFlush(this,<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>        new ArrayList&lt;&gt;(td.getColumnFamilyNames()), FlushLifeCycleTracker.DUMMY),<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>      rss.getAsyncClusterConnection()));<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  }<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span><a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  /**<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>   * Open all Stores.<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>   * @return Highest sequenceId found out in a Store.<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>   */<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span>  private long initializeStores(CancelableProgressable reporter, MonitoredTask status)<a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>    throws IOException {<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>    return initializeStores(reporter, status, false);<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span>  }<a name="line.1126"></a>
+<span class="sourceLineNo">1127</span><a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>  private long initializeStores(CancelableProgressable reporter, MonitoredTask status,<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>    boolean warmup) throws IOException {<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>    // Load in all the HStores.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>    long maxSeqId = -1;<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>    // initialized to -1 so that we pick up MemstoreTS from column families<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span>    long maxMemstoreTS = -1;<a name="line.1133"></a>
+<span class="sourceLineNo">1134</span><a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>    if (htableDescriptor.getColumnFamilyCount() != 0) {<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span>      // initialize the thread pool for opening stores in parallel.<a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>      ThreadPoolExecutor storeOpenerThreadPool =<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>        getStoreOpenAndCloseThreadPool("StoreOpener-" + this.getRegionInfo().getShortNameToLog());<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>      CompletionService&lt;HStore&gt; completionService =<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>        new ExecutorCompletionService&lt;&gt;(storeOpenerThreadPool);<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span><a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>      // initialize each store in parallel<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>      for (final ColumnFamilyDescriptor family : htableDescriptor.getColumnFamilies()) {<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>        status.setStatus("Instantiating store for column family " + family);<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>        completionService.submit(new Callable&lt;HStore&gt;() {<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>          @Override<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>          public HStore call() throws IOException {<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>            return instantiateHStore(family, warmup);<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span>          }<a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>        });<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>      }<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>      boolean allStoresOpened = false;<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      boolean hasSloppyStores = false;<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      try {<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span>        for (int i = 0; i &lt; htableDescriptor.getColumnFamilyCount(); i++) {<a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>          Future&lt;HStore&gt; future = completionService.take();<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>          HStore store = future.get();<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>          this.stores.put(store.getColumnFamilyDescriptor().getName(), store);<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>          if (store.isSloppyMemStore()) {<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>            hasSloppyStores = true;<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>          }<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span><a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>          long storeMaxSequenceId = store.getMaxSequenceId().orElse(0L);<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>          maxSeqIdInStores.put(Bytes.toBytes(store.getColumnFamilyName()), storeMaxSequenceId);<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>          if (maxSeqId == -1 || storeMaxSequenceId &gt; maxSeqId) {<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>            maxSeqId = storeMaxSequenceId;<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>          }<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span>          long maxStoreMemstoreTS = store.getMaxMemStoreTS().orElse(0L);<a name="line.1168"></a>
+<span class="sourceLineNo">1169</span>          if (maxStoreMemstoreTS &gt; maxMemstoreTS) {<a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>            maxMemstoreTS = maxStoreMemstoreTS;<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>          }<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>        }<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>        allStoresOpened = true;<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>        if (hasSloppyStores) {<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>          htableDescriptor = TableDescriptorBuilder.newBuilder(htableDescriptor)<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span>            .setFlushPolicyClassName(FlushNonSloppyStoresFirstPolicy.class.getName()).build();<a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>          LOG.info("Setting FlushNonSloppyStoresFirstPolicy for the region=" + this);<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>        }<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>      } catch (InterruptedException e) {<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>        throw throwOnInterrupt(e);<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>      } catch (ExecutionException e) {<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>        throw new IOException(e.getCause());<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>      } finally {<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span>        storeOpenerThreadPool.shutdownNow();<a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>        if (!allStoresOpened) {<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>          // something went wrong, close all opened stores<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>          LOG.error("Could not initialize all stores for the region=" + this);<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>          for (HStore store : this.stores.values()) {<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>            try {<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>              store.close();<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>            } catch (IOException e) {<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>              LOG.warn("close store {} failed in region {}", store.toString(), this, e);<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span>            }<a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>          }<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>        }<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>      }<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>    }<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>    return Math.max(maxSeqId, maxMemstoreTS + 1);<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span>  }<a name="line.1199"></a>
+<span class="sourceLineNo">1200</span><a name="line.1200"></a>
+<span class="sourceLineNo">1201</span>  private void initializeWarmup(final CancelableProgressable reporter) throws IOException {<a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>    // Initialize all the HStores<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span>    status.setStatus("Warmup all stores of " + this.getRegionInfo().getRegionNameAsString());<a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>    try {<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>      initializeStores(reporter, status, true);<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span>    } finally {<a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>      status.markComplete("Warmed up " + this.getRegionInfo().getRegionNameAsString());<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>    }<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span>  }<a name="line.1210"></a>
+<span class="sourceLineNo">1211</span><a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  /** Returns Map of StoreFiles by column family */<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>  private NavigableMap&lt;byte[], List&lt;Path&gt;&gt; getStoreFiles() {<a name="line.1213"></a>
+<span class="sourceLineNo">1214</span>    NavigableMap&lt;byte[], List&lt;Path&gt;&gt; allStoreFiles = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.1214"></a>
+<span class="sourceLineNo">1215</span>    for (HStore store : stores.values()) {<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>      Collection&lt;HStoreFile&gt; storeFiles = store.getStorefiles();<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span>      if (storeFiles == null) {<a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>        continue;<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>      }<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>      List&lt;Path&gt; storeFileNames = new ArrayList&lt;&gt;();<a name="line.1220"></a>
+<span class="sourceLineNo">1221</span>      for (HStoreFile storeFile : storeFiles) {<a name="line.1221"></a>
+<span class="sourceLineNo">1222</span>        storeFileNames.add(storeFile.getPath());<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>      }<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span>      allStoreFiles.put(store.getColumnFamilyDescriptor().getName(), storeFileNames);<a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>    }<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>    return allStoreFiles;<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span>  }<a name="line.1227"></a>
+<span class="sourceLineNo">1228</span><a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  protected void writeRegionOpenMarker(WAL wal, long openSeqId) throws IOException {<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>    RegionEventDescriptor regionOpenDesc =<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>      ProtobufUtil.toRegionEventDescriptor(RegionEventDescriptor.EventType.REGION_OPEN,<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>        getRegionInfo(), openSeqId, getRegionServerServices().getServerName(), storeFiles);<a name="line.1233"></a>
+<span class="sourceLineNo">1234</span>    WALUtil.writeRegionEventMarker(wal, getReplicationScope(), getRegionInfo(), regionOpenDesc,<a name="line.1234"></a>
+<span class="sourceLineNo">1235</span>      mvcc, regionReplicationSink.orElse(null));<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  }<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>  private void writeRegionCloseMarker(WAL wal) throws IOException {<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>    Map&lt;byte[], List&lt;Path&gt;&gt; storeFiles = getStoreFiles();<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span>    RegionEventDescriptor regionEventDesc = ProtobufUtil.toRegionEventDescriptor(<a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>      RegionEventDescriptor.EventType.REGION_CLOSE, getRegionInfo(), mvcc.getReadPoint(),<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>      getRegionServerServices().getServerName(), storeFiles);<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span>    // we do not care region close event at secondary replica side so just pass a null<a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>    // RegionReplicationSink<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>    WALUtil.writeRegionEventMarker(wal, getReplicationScope(), getRegionInfo(), regionEventDesc,<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      mvcc, null);<a name="line.1246"></a>
+<span class="sourceLineNo">1247</span><a name="line.1247"></a>
+<span class="sourceLineNo">1248</span>    // Store SeqId in WAL FileSystem when a region closes<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span>    // checking region folder exists is due to many tests which delete the table folder while a<a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>    // table is still online<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>    if (getWalFileSystem().exists(getWALRegionDir())) {<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>      WALSplitUtil.writeRegionSequenceIdFile(getWalFileSystem(), getWALRegionDir(),<a name="line.1252"></a>
+<span class="sourceLineNo">1253</span>        mvcc.getReadPoint());<a name="line.1253"></a>
+<span class="sourceLineNo">1254</span>    }<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  }<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /** Returns True if this region has references. */<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>  public boolean hasReferences() {<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>    return stores.values().stream().anyMatch(HStore::hasReferences);<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  }<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span><a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  public void blockUpdates() {<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>    this.updatesLock.writeLock().lock();<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span>  }<a name="line.1264"></a>
+<span class="sourceLineNo">1265</span><a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>  public void unblockUpdates() {<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>    this.updatesLock.writeLock().unlock();<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>  }<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span><a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>  public HDFSBlocksDistribution getHDFSBlocksDistribution() {<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span>    stores.values().stream().filter(s -&gt; s.getStorefiles() != null)<a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>      .flatMap(s -&gt; s.getStorefiles().stream()).map(HStoreFile::getHDFSBlockDistribution)<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>      .forEachOrdered(hdfsBlocksDistribution::add);<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>    return hdfsBlocksDistribution;<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>  }<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span><a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>  /**<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>   * @param conf            configuration<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * @param tableDescriptor TableDescriptor of the table<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   * @param regionInfo      encoded name of the region<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   */<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(Configuration conf,<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>    TableDescriptor tableDescriptor, RegionInfo regionInfo) throws IOException {<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>    Path tablePath =<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span>      CommonFSUtils.getTableDir(CommonFSUtils.getRootDir(conf), tableDescriptor.getTableName());<a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>    return computeHDFSBlocksDistribution(conf, tableDescriptor, regionInfo, tablePath);<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>  }<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span><a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  /**<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>   * This is a helper function to compute HDFS block distribution on demand<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span>   * @param conf            configuration<a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>   * @param tableDescriptor TableDescriptor of the table<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>   * @param regionInfo      encoded name of the region<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span>   * @param tablePath       the table directory<a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>   * @return The HDFS blocks distribution for the given region.<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>   */<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span>  public static HDFSBlocksDistribution computeHDFSBlocksDistribution(Configuration conf,<a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>    TableDescriptor tableDescriptor, RegionInfo regionInfo, Path tablePath) throws IOException {<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>    HDFSBlocksDistribution hdfsBlocksDistribution = new HDFSBlocksDistribution();<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span>    FileSystem fs = tablePath.getFileSystem(conf);<a name="line.1303"></a>
+<span class="sourceLineNo">1304</span><a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>    HRegionFileSystem regionFs = new HRegionFileSystem(conf, fs, tablePath, regionInfo);<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span>    for (ColumnFamilyDescriptor family : tableDescriptor.getColumnFamilies()) {<a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>      List&lt;LocatedFileStatus&gt; locatedFileStatusList =<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>        HRegionFileSystem.getStoreFilesLocatedStatus(regionFs, family.getNameAsString(), true);<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>      if (locatedFileStatusList == null) {<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>        continue;<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span>      }<a name="line.1311"></a>
+<span class="sourceLineNo">1312</span><a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      for (LocatedFileStatus status : locatedFileStatusList) {<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>        Path p = status.getPath();<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>        if (StoreFileInfo.isReference(p) || HFileLink.isHFileLink(p)) {<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>          // Only construct StoreFileInfo object if its not a hfile, save obj<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>          // creation<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span>          StoreFileInfo storeFileInfo = new StoreFileInfo(conf, fs, status);<a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>          hdfsBlocksDistribution.add(storeFileInfo.computeHDFSBlocksDistribution(fs));<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>        } else if (StoreFileInfo.isHFile(p)) {<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>          // If its a HFile, then lets just add to the block distribution<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>          // lets not create more objects here, not even another HDFSBlocksDistribution<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>          FSUtils.addToHDFSBlocksDistribution(hdfsBlocksDistribution, status.getBlockLocations());<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>        } else {<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span>          throw new IOException("path=" + p + " doesn't look like a valid StoreFile");<a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>        }<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>      }<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span>    }<a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>    return hdfsBlocksDistribution;<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>  }<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span><a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  /**<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>   * Increase the size of mem store in this region and the size of global mem store<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span>   */<a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  private void incMemStoreSize(MemStoreSize mss) {<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span>    incMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize(),<a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>      mss.getCellsCount());<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>  }<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span><a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  void incMemStoreSize(long dataSizeDelta, long heapSizeDelta, long offHeapSizeDelta,<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span>    int cellsCountDelta) {<a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>    if (this.rsAccounting != null) {<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>      rsAccounting.incGlobalMemStoreSize(dataSizeDelta, heapSizeDelta, offHeapSizeDelta);<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>    }<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>    long dataSize = this.memStoreSizing.incMemStoreSize(dataSizeDelta, heapSizeDelta,<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>      offHeapSizeDelta, cellsCountDelta);<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>    checkNegativeMemStoreDataSize(dataSize, dataSizeDelta);<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  }<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span><a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>  void decrMemStoreSize(MemStoreSize mss) {<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span>    decrMemStoreSize(mss.getDataSize(), mss.getHeapSize(), mss.getOffHeapSize(),<a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>      mss.getCellsCount());<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>  }<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span><a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>  private void decrMemStoreSize(long dataSizeDelta, long heapSizeDelta, long offHeapSizeDelta,<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span>    int cellsCountDelta) {<a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>    if (this.rsAccounting != null) {<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>      rsAccounting.decGlobalMemStoreSize(dataSizeDelta, heapSizeDelta, offHeapSizeDelta);<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>    }<a name="line.1359"></a>
+<span class="sourceLineNo">1360</span>    long dataSize = this.memStoreSizing.decMemStoreSize(dataSizeDelta, heapSizeDelta,<a name="line.1360"></a>
+<span class="sourceLineNo">1361</span>      offHeapSizeDelta, cellsCountDelta);<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>    checkNegativeMemStoreDataSize(dataSize, -dataSizeDelta);<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>  }<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span><a name="line.1364"></a>
+<span class="sourceLineNo">1365</span>  private void checkNegativeMemStoreDataSize(long memStoreDataSize, long delta) {<a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>    // This is extremely bad if we make memStoreSizing negative. Log as much info on the offending<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    // caller as possible. (memStoreSizing might be a negative value already -- freeing memory)<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>    if (memStoreDataSize &lt; 0) {<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>      LOG.error("Asked to modify this region's (" + this.toString()<a name="line.1369"></a>
+<span class="sourceLineNo">1370</span>        + ") memStoreSizing to a negative value which is incorrect. Current memStoreSizing="<a name="line.1370"></a>
+<span class="sourceLineNo">1371</span>        + (memStoreDataSize - delta) + ", delta=" + delta, new Exception());<a name="line.1371"></a>
+<span class="sourceLineNo">1372</span>    }<a name="line.1372"></a>
+<span class="sourceLineNo">1373</span>  }<a name="line.1373"></a>
+<span class="sourceLineNo">1374</span><a name="line.1374"></a>
+<span class="sourceLineNo">1375</span>  @Override<a name="line.1375"></a>
+<span class="sourceLineNo">1376</span>  public RegionInfo getRegionInfo() {<a name="line.1376"></a>
+<span class="sourceLineNo">1377</span>    return this.fs.getRegionInfo();<a name="line.1377"></a>
+<span class="sourceLineNo">1378</span>  }<a name="line.1378"></a>
+<span class="sourceLineNo">1379</span><a name="line.1379"></a>
+<span class="sourceLineNo">1380</span>  /**<a name="line.1380"></a>
+<span class="sourceLineNo">1381</span>   * Returns Instance of {@link RegionServerServices} used by this HRegion. Can be null.<a name="line.1381"></a>
+<span class="sourceLineNo">1382</span>   */<a name="line.1382"></a>
+<span class="sourceLineNo">1383</span>  RegionServerServices getRegionServerServices() {<a name="line.1383"></a>
+<span class="sourceLineNo">1384</span>    return this.rsServices;<a name="line.1384"></a>
+<span class="sourceLineNo">1385</span>  }<a name="line.1385"></a>
+<span class="sourceLineNo">1386</span><a name="line.1386"></a>
+<span class="sourceLineNo">1387</span>  @Override<a name="line.1387"></a>
+<span class="sourceLineNo">1388</span>  public long getReadRequestsCount() {<a name="line.1388"></a>
+<span class="sourceLineNo">1389</span>    return readRequestsCount.sum();<a name="line.1389"></a>
+<span class="sourceLineNo">1390</span>  }<a name="line.1390"></a>
+<span class="sourceLineNo">1391</span><a name="line.1391"></a>
+<span class="sourceLineNo">1392</span>  @Override<a name="line.1392"></a>
+<span class="sourceLineNo">1393</span>  public long getCpRequestsCount() {<a name="line.1393"></a>
+<span class="sourceLineNo">1394</span>    return cpRequestsCount.sum();<a name="line.1394"></a>
+<span class="sourceLineNo">1395</span>  }<a name="line.1395"></a>
+<span class="sourceLineNo">1396</span><a name="line.1396"></a>
+<span class="sourceLineNo">1397</span>  @Override<a name="line.1397"></a>
+<span class="sourceLineNo">1398</span>  public long getFilteredReadRequestsCount() {<a name="line.1398"></a>
+<span class="sourceLineNo">1399</span>    return filteredReadRequestsCount.sum();<a name="line.1399"></a>
+<span class="sourceLineNo">1400</span>  }<a name="line.1400"></a>
+<span class="sourceLineNo">1401</span><a name="line.1401"></a>
+<span class="sourceLineNo">1402</span>  @Override<a name="line.1402"></a>
+<span class="sourceLineNo">1403</span>  public long getWriteRequestsCount() {<a name="line.1403"></a>
+<span class="sourceLineNo">1404</span>    return writeRequestsCount.sum();<a name="line.1404"></a>
+<span class="sourceLineNo">1405</span>  }<a name="line.1405"></a>
+<span class="sourceLineNo">1406</span><a name="line.1406"></a>
+<span class="sourceLineNo">1407</span>  @Override<a name="line.1407"></a>
+<span class="sourceLineNo">1408</span>  public long getMemStoreDataSize() {<a name="line.1408"></a>
+<span class="sourceLineNo">1409</span>    return memStoreSizing.getDataSize();<a name="line.1409"></a>
+<span class="sourceLineNo">1410</span>  }<a name="line.1410"></a>
+<span class="sourceLineNo">1411</span><a name="line.1411"></a>
+<span class="sourceLineNo">1412</span>  @Override<a name="line.1412"></a>
+<span class="sourceLineNo">1413</span>  public long getMemStoreHeapSize() {<a name="line.1413"></a>
+<span class="sourceLineNo">1414</span>    return memStoreSizing.getHeapSize();<a name="line.1414"></a>
+<span class="sourceLineNo">1415</span>  }<a name="line.1415"></a>
+<span class="sourceLineNo">1416</span><a name="line.1416"></a>
+<span class="sourceLineNo">1417</span>  @Override<a name="line.1417"></a>
+<span class="sourceLineNo">1418</span>  public long getMemStoreOffHeapSize() {<a name="line.1418"></a>
+<span class="sourceLineNo">1419</span>    return memStoreSizing.getOffHeapSize();<a name="line.1419"></a>
+<span class="sourceLineNo">1420</span>  }<a name="line.1420"></a>
+<span class="sourceLineNo">1421</span><a name="line.1421"></a>
+<span class="sourceLineNo">1422</span>  /** Returns store services for this region, to access services required by store level needs */<a name="line.1422"></a>
+<span class="sourceLineNo">1423</span>  public RegionServicesForStores getRegionServicesForStores() {<a name="line.1423"></a>
+<span class="sourceLineNo">1424</span>    return regionServicesForStores;<a name="line.1424"></a>
+<span class="sourceLineNo">1425</span>  }<a name="line.1425"></a>
+<span class="sourceLineNo">1426</span><a name="line.1426"></a>
+<span class="sourceLineNo">1427</span>  @Override<a name="line.1427"></a>
+<span class="sourceLineNo">1428</span>  public long getNumMutationsWithoutWAL() {<a name="line.1428"></a>
+<span class="sourceLineNo">1429</span>    return numMutationsWithoutWAL.sum();<a name="line.1429"></a>
+<span class="sourceLineNo">1430</span>  }<a name="line.1430"></a>
+<span class="sourceLineNo">1431</span><a name="line.1431"></a>
+<span class="sourceLineNo">1432</span>  @Override<a name="line.1432"></a>
+<span class="sourceLineNo">1433</span>  public long getDataInMemoryWithoutWAL() {<a name="line.1433"></a>
+<span class="sourceLineNo">1434</span>    return dataInMemoryWithoutWAL.sum();<a name="line.1434"></a>
+<span class="sourceLineNo">1435</span>  }<a name="line.1435"></a>
+<span class="sourceLineNo">1436</span><a name="line.1436"></a>
+<span class="sourceLineNo">1437</span>  @Override<a name="line.1437"></a>
+<span class="sourceLineNo">1438</span>  public long getBlockedRequestsCount() {<a name="line.1438"></a>
+<span class="sourceLineNo">1439</span>    return blockedRequestsCount.sum();<a name="line.1439"></a>
+<span class="sourceLineNo">1440</span>  }<a name="line.1440"></a>
+<span class="sourceLineNo">1441</span><a name="line.1441"></a>
+<span class="sourceLineNo">1442</span>  @Override<a name="line.1442"></a>
+<span class="sourceLineNo">1443</span>  public long getCheckAndMutateChecksPassed() {<a name="line.1443"></a>
+<span class="sourceLineNo">1444</span>    return checkAndMutateChecksPassed.sum();<a name="line.1444"></a>
+<span class="sourceLineNo">1445</span>  }<a name="line.1445"></a>
+<span class="sourceLineNo">1446</span><a name="line.1446"></a>
+<span class="sourceLineNo">1447</span>  @Override<a name="line.1447"></a>
+<span class="sourceLineNo">1448</span>  public long getCheckAndMutateChecksFailed() {<a name="line.1448"></a>
+<span class="sourceLineNo">1449</span>    return checkAndMutateChecksFailed.sum();<a name="line.1449"></a>
+<span class="sourceLineNo">1450</span>  }<a name="line.1450"></a>
+<span class="sourceLineNo">1451</span><a name="line.1451"></a>
+<span class="sourceLineNo">1452</span>  // TODO Needs to check whether we should expose our metrics system to CPs. If CPs themselves doing<a name="line.1452"></a>
+<span class="sourceLineNo">1453</span>  // the op and bypassing the core, this might be needed? Should be stop supporting the bypass<a name="line.1453"></a>
+<span class="sourceLineNo">1454</span>  // feature?<a name="line.1454"></a>
+<span class="sourceLineNo">1455</span>  public MetricsRegion getMetrics() {<a name="line.1455"></a>
+<span class="sourceLineNo">1456</span>    return metricsRegion;<a name="line.1456"></a>
+<span class="sourceLineNo">1457</span>  }<a name="line.1457"></a>
+<span class="sourceLineNo">1458</span><a name="line.1458"></a>
+<span class="sourceLineNo">1459</span>  @Override<a name="line.1459"></a>
+<span class="sourceLineNo">1460</span>  public boolean isClosed() {<a name="line.1460"></a>
+<span class="sourceLineNo">1461</span>    return this.closed.get();<a name="line.1461"></a>
+<span class="sourceLineNo">1462</span>  }<a name="line.1462"></a>
+<span class="sourceLineNo">1463</span><a name="line.1463"></a>
+<span class="sourceLineNo">1464</span>  @Override<a name="line.1464"></a>
+<span class="sourceLineNo">1465</span>  public boolean isClosing() {<a name="line.1465"></a>
+<span class="sourceLineNo">1466</span>    return this.closing.get();<a name="line.1466"></a>
+<span class="sourceLineNo">1467</span>  }<a name="line.1467"></a>
+<span class="sourceLineNo">1468</span><a name="line.1468"></a>
+<span class="sourceLineNo">1469</span>  @Override<a name="line.1469"></a>
+<span class="sourceLineNo">1470</span>  public boolean isReadOnly() {<a name="line.1470"></a>
+<span class="sourceLineNo">1471</span>    return this.writestate.isReadOnly();<a name="line.1471"></a>
+<span class="sourceLineNo">1472</span>  }<a name="line.1472"></a>
+<span class="sourceLineNo">1473</span><a name="line.1473"></a>
+<span class="sourceLineNo">1474</span>  @Override<a name="line.1474"></a>
+<span class="sourceLineNo">1475</span>  public boolean isAvailable() {<a name="line.1475"></a>
+<span class="sourceLineNo">1476</span>    return !isClosed() &amp;&amp; !isClosing();<a name="line.1476"></a>
+<span class="sourceLineNo">1477</span>  }<a name="line.1477"></a>
+<span class="sourceLineNo">1478</span><a name="line.1478"></a>
+<span class="sourceLineNo">1479</span>  @Override<a name="line.1479"></a>
+<span class="sourceLineNo">1480</span>  public boolean isSplittable() {<a name="line.1480"></a>
+<span class="sourceLineNo">1481</span>    return splitPolicy.canSplit();<a name="line.1481"></a>
+<span class="sourceLineNo">1482</span>  }<a name="line.1482"></a>
+<span class="sourceLineNo">1483</span><a name="line.1483"></a>
+<span class="sourceLineNo">1484</span>  @Override<a name="line.1484"></a>
+<span class="sourceLineNo">1485</span>  public boolean isMergeable() {<a name="line.1485"></a>
+<span class="sourceLineNo">1486</span>    if (!isAvailable()) {<a name="line.1486"></a>
+<span class="sourceLineNo">1487</span>      LOG.debug("Region " + this + " is not mergeable because it is closing or closed");<a name="line.1487"></a>
+<span class="sourceLineNo">1488</span>      return false;<a name="line.1488"></a>
+<span class="sourceLineNo">1489</span>    }<a name="line.1489"></a>
+<span class="sourceLineNo">1490</span>    if (hasReferences()) {<a name="line.1490"></a>
+<span class="sourceLineNo">1491</span>      LOG.debug("Region " + this + " is not mergeable because it has references");<a name="line.1491"></a>
+<span class="sourceLineNo">1492</span>      return false;<a name="line.1492"></a>
+<span class="sourceLineNo">1493</span>    }<a name="line.1493"></a>
+<span class="sourceLineNo">1494</span><a name="line.1494"></a>
+<span class="sourceLineNo">1495</span>    return true;<a name="line.1495"></a>
+<span class="sourceLineNo">1496</span>  }<a name="line.1496"></a>
+<span class="sourceLineNo">1497</span><a name="line.1497"></a>
+<span class="sourceLineNo">1498</span>  public boolean areWritesEnabled() {<a name="line.1498"></a>
+<span class="sourceLineNo">1499</span>    synchronized (this.writestate) {<a name="line.1499"></a>
+<span class="sourceLineNo">1500</span>      return this.writestate.writesEnabled;<a name="line.1500"></a>
+<span class="sourceLineNo">1501</span>    }<a name="line.1501"></a>
+<span class="sourceLineNo">1502</span>  }<a name="line.1502"></a>
+<span class="sourceLineNo">1503</span><a name="line.1503"></a>
+<span class="sourceLineNo">1504</span>  public MultiVersionConcurrencyControl getMVCC() {<a name="line.1504"></a>
+<span class="sourceLineNo">1505</span>    return mvcc;<a name="line.1505"></a>
+<span class="sourceLineNo">1506</span>  }<a name="line.1506"></a>
+<span class="sourceLineNo">1507</span><a name="line.1507"></a>
+<span class="sourceLineNo">1508</span>  @Override<a name="line.1508"></a>
+<span class="sourceLineNo">1509</span>  public long getMaxFlushedSeqId() {<a name="line.1509"></a>
+<span class="sourceLineNo">1510</span>    return maxFlushedSeqId;<a name="line.1510"></a>
+<span class="sourceLineNo">1511</span>  }<a name="line.1511"></a>
+<span class="sourceLineNo">1512</span><a name="line.1512"></a>
+<span class="sourceLineNo">1513</span>  /** Returns readpoint considering given IsolationLevel. Pass {@code null} for default */<a name="line.1513"></a>
+<span class="sourceLineNo">1514</span>  public long getReadPoint(IsolationLevel isolationLevel) {<a name="line.1514"></a>
+<span class="sourceLineNo">1515</span>    if (isolationLevel != null &amp;&amp; isolationLevel == IsolationLevel.READ_UNCOMMITTED) {<a name="line.1515"></a>
+<span class="sourceLineNo">1516</span>      // This scan can read even uncommitted transactions<a name="line.1516"></a>
+<span class="sourceLineNo">1517</span>      return Long.MAX_VALUE;<a name="line.1517"></a>
+<span class="sourceLineNo">1518</span>    }<a name="line.1518"></a>
+<span class="sourceLineNo">1519</span>    return mvcc.getReadPoint();<a name="line.1519"></a>
+<span class="sourceLineNo">1520</span>  }<a name="line.1520"></a>
+<span class="sourceLineNo">1521</span><a name="line.1521"></a>
+<span class="sourceLineNo">1522</span>  public boolean isLoadingCfsOnDemandDefault() {<a name="line.1522"></a>
+<span class="sourceLineNo">1523</span>    return this.isLoadingCfsOnDemandDefault;<a name="line.1523"></a>
+<span class="sourceLineNo">1524</span>  }<a name="line.1524"></a>
+<span class="sourceLineNo">1525</span><a name="line.1525"></a>
+<span class="sourceLineNo">1526</span>  /**<a name="line.1526"></a>
+<span class="sourceLineNo">1527</span>   * Close down this HRegion. Flush the cache, shut down each HStore, don't service any more calls.<a name="line.1527"></a>
+<span class="sourceLineNo">1528</span>   * &lt;p&gt;<a name="line.1528"></a>
+<span class="sourceLineNo">1529</span>   * This method could take some time to execute, so don't call it from a time-sensitive thread.<a name="line.1529"></a>
+<span class="sourceLineNo">1530</span>   * @return Vector of all the storage files that the HRegion's component HStores make use of. It's<a name="line.1530"></a>
+<span class="sourceLineNo">1531</span>   *         a list of all StoreFile objects. Returns empty vector if already closed and null if<a name="line.1531"></a>
+<span class="sourceLineNo">1532</span>   *         judged that it should not close.<a name="line.1532"></a>
+<span class="sourceLineNo">1533</span>   * @throws IOException              e<a name="line.1533"></a>
+<span class="sourceLineNo">1534</span>   * @throws DroppedSnapshotException Thrown when replay of wal is required because a Snapshot was<a name="line.1534"></a>
+<span class="sourceLineNo">1535</span>   *                                  not properly persisted. The region is put in closing mode, and<a name="line.1535"></a>
+<span class="sourceLineNo">1536</span>   *                                  the caller MUST abort after this.<a name="line.1536"></a>
+<span class="sourceLineNo">1537</span>   */<a name="line.1537"></a>
+<span class="sourceLineNo">1538</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close() throws IOException {<a name="line.1538"></a>
+<span class="sourceLineNo">1539</span>    return close(false);<a name="line.1539"></a>
+<span class="sourceLineNo">1540</span>  }<a name="line.1540"></a>
 <span class="sourceLineNo">1541</span><a name="line.1541"></a>
-<span class="sourceLineNo">1542</span>  /** Conf key for fair locking policy */<a name="line.1542"></a>
-<span class="sourceLineNo">1543</span>  public static final String FAIR_REENTRANT_CLOSE_LOCK =<a name="line.1543"></a>
-<span class="sourceLineNo">1544</span>    "hbase.regionserver.fair.region.close.lock";<a name="line.1544"></a>
-<span class="sourceLineNo">1545</span>  public static final boolean DEFAULT_FAIR_REENTRANT_CLOSE_LOCK = true;<a name="line.1545"></a>
-<span class="sourceLineNo">1546</span>  /** Conf key for the periodic flush interval */<a name="line.1546"></a>
-<span class="sourceLineNo">1547</span>  public static final String MEMSTORE_PERIODIC_FLUSH_INTERVAL =<a name="line.1547"></a>
-<span class="sourceLineNo">1548</span>    "hbase.regionserver.optionalcacheflushinterval";<a name="line.1548"></a>
-<span class="sourceLineNo">1549</span>  /** Default interval for the memstore flush */<a name="line.1549"></a>
-<span class="sourceLineNo">1550</span>  public static final int DEFAULT_CACHE_FLUSH_INTERVAL = 3600000;<a name="line.1550"></a>
-<span class="sourceLineNo">1551</span>  /** Default interval for System tables memstore flush */<a name="line.1551"></a>
-<span class="sourceLineNo">1552</span>  public static final int SYSTEM_CACHE_FLUSH_INTERVAL = 300000; // 5 minutes<a name="line.1552"></a>
-<span class="sourceLineNo">1553</span><a name="line.1553"></a>
-<span class="sourceLineNo">1554</span>  /** Conf key to force a flush if there are already enough changes for one region in memstore */<a name="line.1554"></a>
-<span class="sourceLineNo">1555</span>  public static final String MEMSTORE_FLUSH_PER_CHANGES = "hbase.regionserver.flush.per.changes";<a name="line.1555"></a>
-<span class="sourceLineNo">1556</span>  public static final long DEFAULT_FLUSH_PER_CHANGES = 30000000; // 30 millions<a name="line.1556"></a>
-<span class="sourceLineNo">1557</span>  /**<a name="line.1557"></a>
-<span class="sourceLineNo">1558</span>   * The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes<a name="line.1558"></a>
-<span class="sourceLineNo">1559</span>   * overhead. Therefore, even 1G empty KVs occupy at least 20GB memstore size for a single region<a name="line.1559"></a>
-<span class="sourceLineNo">1560</span>   */<a name="line.1560"></a>
-<span class="sourceLineNo">1561</span>  public static final long MAX_FLUSH_PER_CHANGES = 1000000000; // 1G<a name="line.1561"></a>
-<span class="sourceLineNo">1562</span><a name="line.1562"></a>
-<span class="sourceLineNo">1563</span>  public static final String CLOSE_WAIT_ABORT = "hbase.regionserver.close.wait.abort";<a name="line.1563"></a>
-<span class="sourceLineNo">1564</span>  public static final boolean DEFAULT_CLOSE_WAIT_ABORT = true;<a name="line.1564"></a>
-<span class="sourceLineNo">1565</span>  public static final String CLOSE_WAIT_TIME = "hbase.regionserver.close.wait.time.ms";<a name="line.1565"></a>
-<span class="sourceLineNo">1566</span>  public static final long DEFAULT_CLOSE_WAIT_TIME = 60000; // 1 minute<a name="line.1566"></a>
-<span class="sourceLineNo">1567</span>  public static final String CLOSE_WAIT_INTERVAL = "hbase.regionserver.close.wait.interval.ms";<a name="line.1567"></a>
-<span class="sourceLineNo">1568</span>  public static final long DEFAULT_CLOSE_WAIT_INTERVAL = 10000; // 10 seconds<a name="line.1568"></a>
-<span class="sourceLineNo">1569</span><a name="line.1569"></a>
-<span class="sourceLineNo">1570</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close(boolean abort) throws IOException {<a name="line.1570"></a>
-<span class="sourceLineNo">1571</span>    return close(abort, false);<a name="line.1571"></a>
-<span class="sourceLineNo">1572</span>  }<a name="line.1572"></a>
-<span class="sourceLineNo">1573</span><a name="line.1573"></a>
-<span class="sourceLineNo">1574</span>  /**<a name="line.1574"></a>
-<span class="sourceLineNo">1575</span>   * Close down this HRegion. Flush the cache unless abort parameter is true, Shut down each HStore,<a name="line.1575"></a>
-<span class="sourceLineNo">1576</span>   * don't service any more calls. This method could take some time to execute, so don't call it<a name="line.1576"></a>
-<span class="sourceLineNo">1577</span>   * from a time-sensitive thread.<a name="line.1577"></a>
-<span class="sourceLineNo">1578</span>   * @param abort        true if server is aborting (only during testing)<a name="line.1578"></a>
-<span class="sourceLineNo">1579</span>   * @param ignoreStatus true if ignore the status (wont be showed on task list)<a name="line.1579"></a>
-<span class="sourceLineNo">1580</span>   * @return Vector of all the storage files that the HRegion's component HStores make use of. It's<a name="line.1580"></a>
-<span class="sourceLineNo">1581</span>   *         a list of StoreFile objects. Can be null if we are not to close at this time or we are<a name="line.1581"></a>
-<span class="sourceLineNo">1582</span>   *         already closed.<a name="line.1582"></a>
-<span class="sourceLineNo">1583</span>   * @throws IOException              e<a name="line.1583"></a>
-<span class="sourceLineNo">1584</span>   * @throws DroppedSnapshotException Thrown when replay of wal is required because a Snapshot was<a name="line.1584"></a>
-<span class="sourceLineNo">1585</span>   *                                  not properly persisted. The region is put in closing mode, and<a name="line.1585"></a>
-<span class="sourceLineNo">1586</span>   *                                  the caller MUST abort after this.<a name="line.1586"></a>
-<span class="sourceLineNo">1587</span>   */<a name="line.1587"></a>
-<span class="sourceLineNo">1588</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close(boolean abort, boolean ignoreStatus)<a name="line.1588"></a>
-<span class="sourceLineNo">1589</span>    throws IOException {<a name="line.1589"></a>
-<span class="sourceLineNo">1590</span>    // Only allow one thread to close at a time. Serialize them so dual<a name="line.1590"></a>
-<span class="sourceLineNo">1591</span>    // threads attempting to close will run up against each other.<a name="line.1591"></a>
-<span class="sourceLineNo">1592</span>    MonitoredTask status = TaskMonitor.get().createStatus(<a name="line.1592"></a>
-<span class="sourceLineNo">1593</span>      "Closing region " + this.getRegionInfo().getEncodedName() + (abort ? " due to abort" : ""),<a name="line.1593"></a>
-<span class="sourceLineNo">1594</span>      ignoreStatus, true);<a name="line.1594"></a>
-<span class="sourceLineNo">1595</span>    status.setStatus("Waiting for close lock");<a name="line.1595"></a>
-<span class="sourceLineNo">1596</span>    try {<a name="line.1596"></a>
-<span class="sourceLineNo">1597</span>      synchronized (closeLock) {<a name="line.1597"></a>
-<span class="sourceLineNo">1598</span>        return doClose(abort, status);<a name="line.1598"></a>
-<span class="sourceLineNo">1599</span>      }<a name="line.1599"></a>
-<span class="sourceLineNo">1600</span>    } finally {<a name="line.1600"></a>
-<span class="sourceLineNo">1601</span>      if (LOG.isDebugEnabled()) {<a name="line.1601"></a>
-<span class="sourceLineNo">1602</span>        LOG.debug("Region close journal for {}:\n{}", this.getRegionInfo().getEncodedName(),<a name="line.1602"></a>
-<span class="sourceLineNo">1603</span>          status.prettyPrintJournal());<a name="line.1603"></a>
-<span class="sourceLineNo">1604</span>      }<a name="line.1604"></a>
-<span class="sourceLineNo">1605</span>      status.cleanup();<a name="line.1605"></a>
-<span class="sourceLineNo">1606</span>    }<a name="line.1606"></a>
-<span class="sourceLineNo">1607</span>  }<a name="line.1607"></a>
-<span class="sourceLineNo">1608</span><a name="line.1608"></a>
-<span class="sourceLineNo">1609</span>  /**<a name="line.1609"></a>
-<span class="sourceLineNo">1610</span>   * Exposed for some very specific unit tests.<a name="line.1610"></a>
-<span class="sourceLineNo">1611</span>   */<a name="line.1611"></a>
-<span class="sourceLineNo">1612</span>  public void setClosing(boolean closing) {<a name="line.1612"></a>
-<span class="sourceLineNo">1613</span>    this.closing.set(closing);<a name="line.1613"></a>
-<span class="sourceLineNo">1614</span>  }<a name="line.1614"></a>
-<span class="sourceLineNo">1615</span><a name="line.1615"></a>
-<span class="sourceLineNo">1616</span>  /**<a name="line.1616"></a>
-<span class="sourceLineNo">1617</span>   * The {@link HRegion#doClose} will block forever if someone tries proving the dead lock via the<a name="line.1617"></a>
-<span class="sourceLineNo">1618</span>   * unit test. Instead of blocking, the {@link HRegion#doClose} will throw exception if you set the<a name="line.1618"></a>
-<span class="sourceLineNo">1619</span>   * timeout.<a name="line.1619"></a>
-<span class="sourceLineNo">1620</span>   * @param timeoutForWriteLock the second time to wait for the write lock in<a name="line.1620"></a>
-<span class="sourceLineNo">1621</span>   *                            {@link HRegion#doClose}<a name="line.1621"></a>
-<span class="sourceLineNo">1622</span>   */<a name="line.1622"></a>
-<span class="sourceLineNo">1623</span>  public void setTimeoutForWriteLock(long timeoutForWriteLock) {<a name="line.1623"></a>
-<span class="sourceLineNo">1624</span>    assert timeoutForWriteLock &gt;= 0;<a name="line.1624"></a>
-<span class="sourceLineNo">1625</span>    this.timeoutForWriteLock = timeoutForWriteLock;<a name="line.1625"></a>
-<span class="sourceLineNo">1626</span>  }<a name="line.1626"></a>
-<span class="sourceLineNo">1627</span><a name="line.1627"></a>
-<span class="sourceLineNo">1628</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "UL_UNRELEASED_LOCK_EXCEPTION_PATH",<a name="line.1628"></a>
-<span class="sourceLineNo">1629</span>      justification = "I think FindBugs is confused")<a name="line.1629"></a>
-<span class="sourceLineNo">1630</span>  private Map&lt;byte[], List&lt;HStoreFile&gt;&gt; doClose(boolean abort, MonitoredTask status)<a name="line.1630"></a>
-<span class="sourceLineNo">1631</span>    throws IOException {<a name="line.1631"></a>
-<span class="sourceLineNo">1632</span>    if (isClosed()) {<a name="line.1632"></a>
-<span class="sourceLineNo">1633</span>      LOG.warn("Region " + this + " already closed");<a name="line.1633"></a>
-<span class="sourceLineNo">1634</span>      return null;<a name="line.1634"></a>
-<span class="sourceLineNo">1635</span>    }<a name="line.1635"></a>
-<span class="sourceLineNo">1636</span><a name="line.1636"></a>
-<span class="sourceLineNo">1637</span>    if (coprocessorHost != null) {<a name="line.1637"></a>
-<span class="sourceLineNo">1638</span>      status.setStatus("Running coprocessor pre-close hooks");<a name="line.1638"></a>
-<span class="sourceLineNo">1639</span>      this.coprocessorHost.preClose(abort);<a name="line.1639"></a>
-<span class="sourceLineNo">1640</span>    }<a name="line.1640"></a>
-<span class="sourceLineNo">1641</span>    status.setStatus("Disabling compacts and flushes for region");<a name="line.1641"></a>
-<span class="sourceLineNo">1642</span>    boolean canFlush = true;<a name="line.1642"></a>
-<span class="sourceLineNo">1643</span>    synchronized (writestate) {<a name="line.1643"></a>
-<span class="sourceLineNo">1644</span>      // Disable compacting and flushing by background threads for this<a name="line.1644"></a>
-<span class="sourceLineNo">1645</span>      // region.<a name="line.1645"></a>
-<span class="sourceLineNo">1646</span>      canFlush = !writestate.readOnly;<a name="line.1646"></a>
-<span class="sourceLineNo">1647</span>      writestate.writesEnabled = false;<a name="line.1647"></a>
-<span class="sourceLineNo">1648</span>      LOG.debug("Closing {}, disabling compactions &amp; flushes",<a name="line.1648"></a>
-<span class="sourceLineNo">1649</span>        this.getRegionInfo().getEncodedName());<a name="line.1649"></a>
-<span class="sourceLineNo">1650</span>      waitForFlushesAndCompactions();<a name="line.1650"></a>
-<span class="sourceLineNo">1651</span>    }<a name="line.1651"></a>
-<span class="sourceLineNo">1652</span>    // If we were not just flushing, is it worth doing a preflush...one<a name="line.1652"></a>
-<span class="sourceLineNo">1653</span>    // that will clear out of the bulk of the memstore before we put up<a name="line.1653"></a>
-<span class="sourceLineNo">1654</span>    // the close flag?<a name="line.1654"></a>
-<span class="sourceLineNo">1655</span>    if (!abort &amp;&amp; worthPreFlushing() &amp;&amp; canFlush) {<a name="line.1655"></a>
-<span class="sourceLineNo">1656</span>      status.setStatus("Pre-flushing region before close");<a name="line.1656"></a>
-<span class="sourceLineNo">1657</span>      LOG.info("Running close preflush of {}", this.getRegionInfo().getEncodedName());<a name="line.1657"></a>
-<span class="sourceLineNo">1658</span>      try {<a name="line.1658"></a>
-<span class="sourceLineNo">1659</span>        internalFlushcache(status);<a name="line.1659"></a>
-<span class="sourceLineNo">1660</span>      } catch (IOException ioe) {<a name="line.1660"></a>
-<span class="sourceLineNo">1661</span>        // Failed to flush the region. Keep going.<a name="line.1661"></a>
-<span class="sourceLineNo">1662</span>        status.setStatus("Failed pre-flush " + this + "; " + ioe.getMessage());<a name="line.1662"></a>
-<span class="sourceLineNo">1663</span>      }<a name="line.1663"></a>
-<span class="sourceLineNo">1664</span>    }<a name="line.1664"></a>
-<span class="sourceLineNo">1665</span>    if (regionReplicationSink.isPresent()) {<a name="line.1665"></a>
-<span class="sourceLineNo">1666</span>      // stop replicating to secondary replicas<a name="line.1666"></a>
-<span class="sourceLineNo">1667</span>      // the open event marker can make secondary replicas refresh store files and catch up<a name="line.1667"></a>
-<span class="sourceLineNo">1668</span>      // everything, so here we just give up replicating later edits, to speed up the reopen process<a name="line.1668"></a>
-<span class="sourceLineNo">1669</span>      RegionReplicationSink sink = regionReplicationSink.get();<a name="line.1669"></a>
-<span class="sourceLineNo">1670</span>      sink.stop();<a name="line.1670"></a>
-<span class="sourceLineNo">1671</span>      try {<a name="line.1671"></a>
-<span class="sourceLineNo">1672</span>        regionReplicationSink.get().waitUntilStopped();<a name="line.1672"></a>
-<span class="sourceLineNo">1673</span>      } catch (InterruptedException e) {<a name="line.1673"></a>
-<span class="sourceLineNo">1674</span>        throw throwOnInterrupt(e);<a name="line.1674"></a>
-<span class="sourceLineNo">1675</span>      }<a name="line.1675"></a>
-<span class="sourceLineNo">1676</span>    }<a name="line.1676"></a>
-<span class="sourceLineNo">1677</span>    // Set the closing flag<a name="line.1677"></a>
-<span class="sourceLineNo">1678</span>    // From this point new arrivals at the region lock will get NSRE.<a name="line.1678"></a>
-<span class="sourceLineNo">1679</span><a name="line.1679"></a>
-<span class="sourceLineNo">1680</span>    this.closing.set(true);<a name="line.1680"></a>
-<span class="sourceLineNo">1681</span>    LOG.info("Closing region {}", this);<a name="line.1681"></a>
-<span class="sourceLineNo">1682</span><a name="line.1682"></a>
-<span class="sourceLineNo">1683</span>    // Acquire the close lock<a name="line.1683"></a>
+<span class="sourceLineNo">1542</span>  private final Object closeLock = new Object();<a name="line.1542"></a>
+<span class="sourceLineNo">1543</span><a name="line.1543"></a>
+<span class="sourceLineNo">1544</span>  /** Conf key for fair locking policy */<a name="line.1544"></a>
+<span class="sourceLineNo">1545</span>  public static final String FAIR_REENTRANT_CLOSE_LOCK =<a name="line.1545"></a>
+<span class="sourceLineNo">1546</span>    "hbase.regionserver.fair.region.close.lock";<a name="line.1546"></a>
+<span class="sourceLineNo">1547</span>  public static final boolean DEFAULT_FAIR_REENTRANT_CLOSE_LOCK = true;<a name="line.1547"></a>
+<span class="sourceLineNo">1548</span>  /** Conf key for the periodic flush interval */<a name="line.1548"></a>
+<span class="sourceLineNo">1549</span>  public static final String MEMSTORE_PERIODIC_FLUSH_INTERVAL =<a name="line.1549"></a>
+<span class="sourceLineNo">1550</span>    "hbase.regionserver.optionalcacheflushinterval";<a name="line.1550"></a>
+<span class="sourceLineNo">1551</span>  /** Default interval for the memstore flush */<a name="line.1551"></a>
+<span class="sourceLineNo">1552</span>  public static final int DEFAULT_CACHE_FLUSH_INTERVAL = 3600000;<a name="line.1552"></a>
+<span class="sourceLineNo">1553</span>  /** Default interval for System tables memstore flush */<a name="line.1553"></a>
+<span class="sourceLineNo">1554</span>  public static final int SYSTEM_CACHE_FLUSH_INTERVAL = 300000; // 5 minutes<a name="line.1554"></a>
+<span class="sourceLineNo">1555</span><a name="line.1555"></a>
+<span class="sourceLineNo">1556</span>  /** Conf key to force a flush if there are already enough changes for one region in memstore */<a name="line.1556"></a>
+<span class="sourceLineNo">1557</span>  public static final String MEMSTORE_FLUSH_PER_CHANGES = "hbase.regionserver.flush.per.changes";<a name="line.1557"></a>
+<span class="sourceLineNo">1558</span>  public static final long DEFAULT_FLUSH_PER_CHANGES = 30000000; // 30 millions<a name="line.1558"></a>
+<span class="sourceLineNo">1559</span>  /**<a name="line.1559"></a>
+<span class="sourceLineNo">1560</span>   * The following MAX_FLUSH_PER_CHANGES is large enough because each KeyValue has 20+ bytes<a name="line.1560"></a>
+<span class="sourceLineNo">1561</span>   * overhead. Therefore, even 1G empty KVs occupy at least 20GB memstore size for a single region<a name="line.1561"></a>
+<span class="sourceLineNo">1562</span>   */<a name="line.1562"></a>
+<span class="sourceLineNo">1563</span>  public static final long MAX_FLUSH_PER_CHANGES = 1000000000; // 1G<a name="line.1563"></a>
+<span class="sourceLineNo">1564</span><a name="line.1564"></a>
+<span class="sourceLineNo">1565</span>  public static final String CLOSE_WAIT_ABORT = "hbase.regionserver.close.wait.abort";<a name="line.1565"></a>
+<span class="sourceLineNo">1566</span>  public static final boolean DEFAULT_CLOSE_WAIT_ABORT = true;<a name="line.1566"></a>
+<span class="sourceLineNo">1567</span>  public static final String CLOSE_WAIT_TIME = "hbase.regionserver.close.wait.time.ms";<a name="line.1567"></a>
+<span class="sourceLineNo">1568</span>  public static final long DEFAULT_CLOSE_WAIT_TIME = 60000; // 1 minute<a name="line.1568"></a>
+<span class="sourceLineNo">1569</span>  public static final String CLOSE_WAIT_INTERVAL = "hbase.regionserver.close.wait.interval.ms";<a name="line.1569"></a>
+<span class="sourceLineNo">1570</span>  public static final long DEFAULT_CLOSE_WAIT_INTERVAL = 10000; // 10 seconds<a name="line.1570"></a>
+<span class="sourceLineNo">1571</span><a name="line.1571"></a>
+<span class="sourceLineNo">1572</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close(boolean abort) throws IOException {<a name="line.1572"></a>
+<span class="sourceLineNo">1573</span>    return close(abort, false);<a name="line.1573"></a>
+<span class="sourceLineNo">1574</span>  }<a name="line.1574"></a>
+<span class="sourceLineNo">1575</span><a name="line.1575"></a>
+<span class="sourceLineNo">1576</span>  /**<a name="line.1576"></a>
+<span class="sourceLineNo">1577</span>   * Close down this HRegion. Flush the cache unless abort parameter is true, Shut down each HStore,<a name="line.1577"></a>
+<span class="sourceLineNo">1578</span>   * don't service any more calls. This method could take some time to execute, so don't call it<a name="line.1578"></a>
+<span class="sourceLineNo">1579</span>   * from a time-sensitive thread.<a name="line.1579"></a>
+<span class="sourceLineNo">1580</span>   * @param abort        true if server is aborting (only during testing)<a name="line.1580"></a>
+<span class="sourceLineNo">1581</span>   * @param ignoreStatus true if ignore the status (wont be showed on task list)<a name="line.1581"></a>
+<span class="sourceLineNo">1582</span>   * @return Vector of all the storage files that the HRegion's component HStores make use of. It's<a name="line.1582"></a>
+<span class="sourceLineNo">1583</span>   *         a list of StoreFile objects. Can be null if we are not to close at this time or we are<a name="line.1583"></a>
+<span class="sourceLineNo">1584</span>   *         already closed.<a name="line.1584"></a>
+<span class="sourceLineNo">1585</span>   * @throws IOException              e<a name="line.1585"></a>
+<span class="sourceLineNo">1586</span>   * @throws DroppedSnapshotException Thrown when replay of wal is required because a Snapshot was<a name="line.1586"></a>
+<span class="sourceLineNo">1587</span>   *                                  not properly persisted. The region is put in closing mode, and<a name="line.1587"></a>
+<span class="sourceLineNo">1588</span>   *                                  the caller MUST abort after this.<a name="line.1588"></a>
+<span class="sourceLineNo">1589</span>   */<a name="line.1589"></a>
+<span class="sourceLineNo">1590</span>  public Map&lt;byte[], List&lt;HStoreFile&gt;&gt; close(boolean abort, boolean ignoreStatus)<a name="line.1590"></a>
+<span class="sourceLineNo">1591</span>    throws IOException {<a name="line.1591"></a>
+<span class="sourceLineNo">1592</span>    // Only allow one thread to close at a time. Serialize them so dual<a name="line.1592"></a>
+<span class="sourceLineNo">1593</span>    // threads attempting to close will run up against each other.<a name="line.1593"></a>
+<span class="sourceLineNo">1594</span>    MonitoredTask status = TaskMonitor.get().createStatus(<a name="line.1594"></a>
+<span class="sourceLineNo">1595</span>      "Closing region " + this.getRegionInfo().getEncodedName() + (abort ? " due to abort" : ""),<a name="line.1595"></a>
+<span class="sourceLineNo">1596</span>      ignoreStatus, true);<a name="line.1596"></a>
+<span class="sourceLineNo">1597</span>    status.setStatus("Waiting for close lock");<a name="line.1597"></a>
+<span class="sourceLineNo">1598</span>    try {<a name="line.1598"></a>
+<span class="sourceLineNo">1599</span>      synchronized (closeLock) {<a name="line.1599"></a>
+<span class="sourceLineNo">1600</span>        return doClose(abort, status);<a name="line.1600"></a>
+<span class="sourceLineNo">1601</span>      }<a name="line.1601"></a>
+<span class="sourceLineNo">1602</span>    } finally {<a name="line.1602"></a>
+<span class="sourceLineNo">1603</span>      if (LOG.isDebugEnabled()) {<a name="line.1603"></a>
+<span class="sourceLineNo">1604</span>        LOG.debug("Region close journal for {}:\n{}", this.getRegionInfo().getEncodedName(),<a name="line.1604"></a>
+<span class="sourceLineNo">1605</span>          status.prettyPrintJournal());<a name="line.1605"></a>
+<span class="sourceLineNo">1606</span>      }<a name="line.1606"></a>
+<span class="sourceLineNo">1607</span>      status.cleanup();<a name="line.1607"></a>
+<span class="sourceLineNo">1608</span>    }<a name="line.1608"></a>
+<span class="sourceLineNo">1609</span>  }<a name="line.1609"></a>
+<span class="sourceLineNo">1610</span><a name="line.1610"></a>
+<span class="sourceLineNo">1611</span>  /**<a name="line.1611"></a>
+<span class="sourceLineNo">1612</span>   * Exposed for some very specific unit tests.<a name="line.1612"></a>
+<span class="sourceLineNo">1613</span>   */<a name="line.1613"></a>
+<span class="sourceLineNo">1614</span>  public void setClosing(boolean closing) {<a name="line.1614"></a>
+<span class="sourceLineNo">1615</span>    this.closing.set(closing);<a name="line.1615"></a>
+<span class="sourceLineNo">1616</span>  }<a name="line.1616"></a>
+<span class="sourceLineNo">1617</span><a name="line.1617"></a>
+<span class="sourceLineNo">1618</span>  /**<a name="line.1618"></a>
+<span class="sourceLineNo">1619</span>   * The {@link HRegion#doClose} will block forever if someone tries proving the dead lock via the<a name="line.1619"></a>
+<span class="sourceLineNo">1620</span>   * unit test. Instead of blocking, the {@link HRegion#doClose} will throw exception if you set the<a name="line.1620"></a>
+<span class="sourceLineNo">1621</span>   * timeout.<a name="line.1621"></a>
+<span class="sourceLineNo">1622</span>   * @param timeoutForWriteLock the second time to wait for the write lock in<a name="line.1622"></a>
+<span class="sourceLineNo">1623</span>   *                            {@link HRegion#doClose}<a name="line.1623"></a>
+<span class="sourceLineNo">1624</span>   */<a name="line.1624"></a>
+<span class="sourceLineNo">1625</span>  public void setTimeoutForWriteLock(long timeoutForWriteLock) {<a name="line.1625"></a>
+<span class="sourceLineNo">1626</span>    assert timeoutForWriteLock &gt;= 0;<a name="line.1626"></a>
+<span class="sourceLineNo">1627</span>    this.timeoutForWriteLock = timeoutForWriteLock;<a name="line.1627"></a>
+<span class="sourceLineNo">1628</span>  }<a name="line.1628"></a>
+<span class="sourceLineNo">1629</span><a name="line.1629"></a>
+<span class="sourceLineNo">1630</span>  @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "UL_UNRELEASED_LOCK_EXCEPTION_PATH",<a name="line.1630"></a>
+<span class="sourceLineNo">1631</span>      justification = "I think FindBugs is confused")<a name="line.1631"></a>
+<span class="sourceLineNo">1632</span>  private Map&lt;byte[], List&lt;HStoreFile&gt;&gt; doClose(boolean abort, MonitoredTask status)<a name="line.1632"></a>
+<span class="sourceLineNo">1633</span>    throws IOException {<a name="line.1633"></a>
+<span class="sourceLineNo">1634</span>    if (isClosed()) {<a name="line.1634"></a>
+<span class="sourceLineNo">1635</span>      LOG.warn("Region " + this + " already closed");<a name="line.1635"></a>
+<span class="sourceLineNo">1636</span>      return null;<a name="line.1636"></a>
+<span class="sourceLineNo">1637</span>    }<a name="line.1637"></a>
+<span class="sourceLineNo">1638</span><a name="line.1638"></a>
+<span class="sourceLineNo">1639</span>    if (coprocessorHost != null) {<a name="line.1639"></a>
+<span class="sourceLineNo">1640</span>      status.setStatus("Running coprocessor pre-close hooks");<a name="line.1640"></a>
+<span class="sourceLineNo">1641</span>      this.coprocessorHost.preClose(abort);<a name="line.1641"></a>
+<span class="sourceLineNo">1642</span>    }<a name="line.1642"></a>
+<span class="sourceLineNo">1643</span>    status.setStatus("Disabling compacts and flushes for region");<a name="line.1643"></a>
+<span class="sourceLineNo">1644</span>    boolean canFlush = true;<a name="line.1644"></a>
+<span class="sourceLineNo">1645</span>    synchronized (writestate) {<a name="line.1645"></a>
+<span class="sourceLineNo">1646</span>      // Disable compacting and flushing by background threads for this<a name="line.1646"></a>
+<span class="sourceLineNo">1647</span>      // region.<a name="line.1647"></a>
+<span class="sourceLineNo">1648</span>      canFlush = !writestate.readOnly;<a name="line.1648"></a>
+<span class="sourceLineNo">1649</span>      writestate.writesEnabled = false;<a name="line.1649"></a>
+<span class="sourceLineNo">1650</span>      LOG.debug("Closing {}, disabling compactions &amp; flushes",<a name="line.1650"></a>
+<span class="sourceLineNo">1651</span>        this.getRegionInfo().getEncodedName());<a name="line.1651"></a>
+<span class="sourceLineNo">1652</span>      waitForFlushesAndCompactions();<a name="line.1652"></a>
+<span class="sourceLineNo">1653</span>    }<a name="line.1653"></a>
+<span class="sourceLineNo">1654</span>    // If we were not just flushing, is it worth doing a preflush...one<a name="line.1654"></a>
+<span class="sourceLineNo">1655</span>    // that will clear out of the bulk of the memstore before we put up<a name="line.1655"></a>
+<span class="sourceLineNo">1656</span>    // the close flag?<a name="line.1656"></a>
+<span class="sourceLineNo">1657</span>    if (!abort &amp;&amp; worthPreFlushing() &amp;&amp; canFlush) {<a name="line.1657"></a>
+<span class="sourceLineNo">1658</span>      status.setStatus("Pre-flushing region before close");<a name="line.1658"></a>
+<span class="sourceLineNo">1659</span>      LOG.info("Running close preflush of {}", this.getRegionInfo().getEncodedName());<a name="line.1659"></a>
+<span class="sourceLineNo">1660</span>      try {<a name="line.1660"></a>
+<span class="sourceLineNo">1661</span>        internalFlushcache(status);<a name="line.1661"></a>
+<span class="sourceLineNo">1662</span>      } catch (IOException ioe) {<a name="line.1662"></a>
+<span class="sourceLineNo">1663</span>        // Failed to flush the region. Keep going.<a name="line.1663"></a>
+<span class="sourceLineNo">1664</span>        status.setStatus("Failed pre-flush " + this + "; " + ioe.getMessage());<a name="line.1664"></a>
+<span class="sourceLineNo">1665</span>      }<a name="line.1665"></a>
+<span class="sourceLineNo">1666</span>    }<a name="line.1666"></a>
+<span class="sourceLineNo">1667</span>    if (regionReplicationSink.isPresent()) {<a name="line.1667"></a>
+<span class="sourceLineNo">1668</span>      // stop replicating to secondary replicas<a name="line.1668"></a>
+<span class="sourceLineNo">1669</span>      // the open event marker can make secondary replicas refresh store files and catch up<a name="line.1669"></a>
+<span class="sourceLineNo">1670</span>      // everything, so here we just give up replicating later edits, to speed up the reopen process<a name="line.1670"></a>
+<span class="sourceLineNo">1671</span>      RegionReplicationSink sink = regionReplicationSink.get();<a name="line.1671"></a>
+<span class="sourceLineNo">1672</span>      sink.stop();<a name="line.1672"></a>
+<span class="sourceLineNo">1673</span>      try {<a name="line.1673"></a>
+<span class="sourceLineNo">1674</span>        regionReplicationSink.get().waitUntilStopped();<a name="line.1674"></a>
+<span class="sourceLineNo">1675</span>      } catch (InterruptedException e) {<a name="line.1675"></a>
+<span class="sourceLineNo">1676</span>        throw throwOnInterrupt(e);<a name="line.1676"></a>
+<span class="sourceLineNo">1677</span>      }<a name="line.1677"></a>
+<span class="sourceLineNo">1678</span>    }<a name="line.1678"></a>
+<span class="sourceLineNo">1679</span>    // Set the closing flag<a name="line.1679"></a>
+<span class="sourceLineNo">1680</span>    // From this point new arrivals at the region lock will get NSRE.<a name="line.1680"></a>
+<span class="sourceLineNo">1681</span><a name="line.1681"></a>
+<span class="sourceLineNo">1682</span>    this.closing.set(true);<a name="line.1682"></a>
+<span class="sourceLineNo">1683</span>    LOG.info("Closing region {}", this);<a name="line.1683"></a>
 <span class="sourceLineNo">1684</span><a name="line.1684"></a>
-<span class="sourceLineNo">1685</span>    // The configuration parameter CLOSE_WAIT_ABORT is overloaded to enable both<a name="line.1685"></a>
-<span class="sourceLineNo">1686</span>    // the new regionserver abort condition and interrupts for running requests.<a name="line.1686"></a>
-<span class="sourceLineNo">1687</span>    // If CLOSE_WAIT_ABORT is not enabled there is no change from earlier behavior,<a name="line.1687"></a>
-<span class="sourceLineNo">1688</span>    // we will not attempt to interrupt threads servicing requests nor crash out<a name="line.1688"></a>
-<span class="sourceLineNo">1689</span>    // the regionserver if something remains stubborn.<a name="line.1689"></a>
-<span class="sourceLineNo">1690</span><a name="line.1690"></a>
-<span class="sourceLineNo">1691</span>    final boolean canAbort = conf.getBoolean(CLOSE_WAIT_ABORT, DEFAULT_CLOSE_WAIT_ABORT);<a name="line.1691"></a>
-<span class="sourceLineNo">1692</span>    boolean useTimedWait = false;<a name="line.1692"></a>
-<span class="sourceLineNo">1693</span>    if (timeoutForWriteLock != null &amp;&amp; timeoutForWriteLock != Long.MAX_VALUE) {<a name="line.1693"></a>
-<span class="sourceLineNo">1694</span>      // convert legacy use of timeoutForWriteLock in seconds to new use in millis<a name="line.1694"></a>
-<span class="sourceLineNo">1695</span>      timeoutForWriteLock = TimeUnit.SECONDS.toMillis(timeoutForWriteLock);<a name="line.1695"></a>
-<span class="sourceLineNo">1696</span>      useTimedWait = true;<a name="line.1696"></a>
-<span class="sourceLineNo">1697</span>    } else if (canAbort) {<a name="line.1697"></a>
-<span class="sourceLineNo">1698</span>      timeoutForWriteLock = conf.getLong(CLOSE_WAIT_TIME, DEFAULT_CLOSE_WAIT_TIME);<a name="line.1698"></a>
-<span class="sourceLineNo">1699</span>      useTimedWait = true;<a name="line.1699"></a>
-<span class="sourceLineNo">1700</span>    }<a name="line.1700"></a>
-<span class="sourceLineNo">1701</span>    if (LOG.isDebugEnabled()) {<a name="line.1701"></a>
-<span class="sourceLineNo">1702</span>      LOG.debug((useTimedWait ? "Time limited wait" : "Waiting without time limit")<a name="line.1702"></a>
-<span class="sourceLineNo">1703</span>        + " for close lock on " + this);<a name="line.1703"></a>
-<span class="sourceLineNo">1704</span>    }<a name="line.1704"></a>
-<span class="sourceLineNo">1705</span>    final long closeWaitInterval = conf.getLong(CLOSE_WAIT_INTERVAL, DEFAULT_CLOSE_WAIT_INTERVAL);<a name="line.1705"></a>
-<span class="sourceLineNo">1706</span>    long elapsedWaitTime = 0;<a name="line.1706"></a>
-<span class="sourceLineNo">1707</span>    if (useTimedWait) {<a name="line.1707"></a>
-<span class="sourceLineNo">1708</span>      // Sanity check configuration<a name="line.1708"></a>
-<span class="sourceLineNo">1709</span>      long remainingWaitTime = timeoutForWriteLock;<a name="line.1709"></a>
-<span class="sourceLineNo">1710</span>      if (remainingWaitTime &lt; closeWaitInterval) {<a name="line.1710"></a>
-<span class="sourceLineNo">1711</span>        LOG.warn("Time limit for close wait of " + timeoutForWriteLock<a name="line.1711"></a>
-<span class="sourceLineNo">1712</span>          + " ms is less than the configured lock acquisition wait interval " + closeWaitInterval<a name="line.1712"></a>
-<span class="sourceLineNo">1713</span>          + " ms, using wait interval as time limit");<a name="line.1713"></a>
-<span class="sourceLineNo">1714</span>        remainingWaitTime = closeWaitInterval;<a name="line.1714"></a>
-<span class="sourceLineNo">1715</span>      }<a name="line.1715"></a>
-<span class="sourceLineNo">1716</span>      boolean acquired = false;<a name="line.1716"></a>
-<span class="sourceLineNo">1717</span>      do {<a name="line.1717"></a>
-<span class="sourceLineNo">1718</span>        long start = EnvironmentEdgeManager.currentTime();<a name="line.1718"></a>
-<span class="sourceLineNo">1719</span>        try {<a name="line.1719"></a>
-<span class="sourceLineNo">1720</span>          acquired = lock.writeLock().tryLock(Math.min(remainingWaitTime, closeWaitInterval),<a name="line.1720"></a>
-<span class="sourceLineNo">1721</span>            TimeUnit.MILLISECONDS);<a name="line.1721"></a>
-<span class="sourceLineNo">1722</span>        } catch (InterruptedException e) {<a name="line.1722"></a>
-<span class="sourceLineNo">1723</span>          // Interrupted waiting for close lock. More likely the server is shutting down, not<a name="line.1723"></a>
-<span class="sourceLineNo">1724</span>          // normal operation, so aborting upon interrupt while waiting on this lock would not<a name="line.1724"></a>
-<span class="sourceLineNo">1725</span>          // provide much value. Throw an IOE (as IIOE) like we would in the case where we<a name="line.1725"></a>
-<span class="sourceLineNo">1726</span>          // fail to acquire the lock.<a name="line.1726"></a>
-<span class="sourceLineNo">1727</span>          String msg = "Interrupted while waiting for close lock on " + this;<a name="line.1727"></a>
-<span class="sourceLineNo">1728</span>          LOG.warn(msg, e);<a name="line.1728"></a>
-<span class="sourceLineNo">1729</span>          throw (InterruptedIOException) new InterruptedIOException(msg).initCause(e);<a name="line.1729"></a>
-<span class="sourceLineNo">1730</span>        }<a name="line.1730"></a>
-<span class="sourceLineNo">1731</span>        long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.1731"></a>
-<span class="sourceLineNo">1732</span>        elapsedWaitTime += elapsed;<a name="line.1732"></a>
-<span class="sourceLineNo">1733</span>        remainingWaitTime -= elapsed;<a name="line.1733"></a>
-<span class="sourceLineNo">1734</span>        if (canAbort &amp;&amp; !acquired &amp;&amp; remainingWaitTime &gt; 0) {<a name="line.1734"></a>
-<span class="sourceLineNo">1735</span>          // Before we loop to wait again, interrupt all region operations that might<a name="line.1735"></a>
-<span class="sourceLineNo">1736</span>          // still be in progress, to encourage them to break out of waiting states or<a name="line.1736"></a>
-<span class="sourceLineNo">1737</span>          // inner loops, throw an exception to clients, and release the read lock via<a name="line.1737"></a>
-<span class="sourceLineNo">1738</span>          // endRegionOperation.<a name="line.1738"></a>
-<span class="sourceLineNo">1739</span>          if (LOG.isDebugEnabled()) {<a name="line.1739"></a>
-<span class="sourceLineNo">1740</span>            LOG.debug("Interrupting region operations after waiting for close lock for "<a name="line.1740"></a>
-<span class="sourceLineNo">1741</span>              + elapsedWaitTime + " ms on " + this + ", " + remainingWaitTime + " ms remaining");<a name="line.1741"></a>
-<span class="sourceLineNo">1742</span>          }<a name="line.1742"></a>
-<span class="sourceLineNo">1743</span>          interruptRegionOperations();<a name="line.1743"></a>
-<span class="sourceLineNo">1744</span>        }<a name="line.1744"></a>
-<span class="sourceLineNo">1745</span>      } while (!acquired &amp;&amp; remainingWaitTime &gt; 0);<a name="line.1745"></a>
-<span class="sourceLineNo">1746</span><a name="line.1746"></a>
-<span class="sourceLineNo">1747</span>      // If we fail to acquire the lock, trigger an abort if we can; otherwise throw an IOE<a name="line.1747"></a>
-<span class="sourceLineNo">1748</span>      // to let the caller know we could not proceed with the close.<a name="line.1748"></a>
-<span class="sourceLineNo">1749</span>      if (!acquired) {<a name="line.1749"></a>
-<span class="sourceLineNo">1750</span>        String msg =<a name="line.1750"></a>
-<span class="sourceLineNo">1751</span>          "Failed to acquire close lock on " + this + " after waiting " + elapsedWaitTime + " ms";<a name="line.1751"></a>
-<span class="sourceLineNo">1752</span>        LOG.error(msg);<a name="line.1752"></a>
-<span class="sourceLineNo">1753</span>        if (canAbort) {<a name="line.1753"></a>
-<span class="sourceLineNo">1754</span>          // If we failed to acquire the write lock, abort the server<a name="line.1754"></a>
-<span class="sourceLineNo">1755</span>          rsServices.abort(msg, null);<a name="line.1755"></a>
-<span class="sourceLineNo">1756</span>        }<a name="line.1756"></a>
-<span class="sourceLineNo">1757</span>        throw new IOException(msg);<a name="line.1757"></a>
-<span class="sourceLineNo">1758</span>      }<a name="line.1758"></a>
-<span class="sourceLineNo">1759</span><a name="line.1759"></a>
-<span class="sourceLineNo">1760</span>    } else {<a name="line.1760"></a>
+<span class="sourceLineNo">1685</span>    // Acquire the close lock<a name="line.1685"></a>
+<span class="sourceLineNo">1686</span><a name="line.1686"></a>
+<span class="sourceLineNo">1687</span>    // The configuration parameter CLOSE_WAIT_ABORT is overloaded to enable both<a name="line.1687"></a>
+<span class="sourceLineNo">1688</span>    // the new regionserver abort condition and interrupts for running requests.<a name="line.1688"></a>
+<span class="sourceLineNo">1689</span>    // If CLOSE_WAIT_ABORT is not enabled there is no change from earlier behavior,<a name="line.1689"></a>
+<span class="sourceLineNo">1690</span>    // we will not attempt to interrupt threads servicing requests nor crash out<a name="line.1690"></a>
+<span class="sourceLineNo">1691</span>    // the regionserver if something remains stubborn.<a name="line.1691"></a>
+<span class="sourceLineNo">1692</span><a name="line.1692"></a>
+<span class="sourceLineNo">1693</span>    final boolean canAbort = conf.getBoolean(CLOSE_WAIT_ABORT, DEFAULT_CLOSE_WAIT_ABORT);<a name="line.1693"></a>
+<span class="sourceLineNo">1694</span>    boolean useTimedWait = false;<a name="line.1694"></a>
+<span class="sourceLineNo">1695</span>    if (timeoutForWriteLock != null &amp;&amp; timeoutForWriteLock != Long.MAX_VALUE) {<a name="line.1695"></a>
+<span class="sourceLineNo">1696</span>      // convert legacy use of timeoutForWriteLock in seconds to new use in millis<a name="line.1696"></a>
+<span class="sourceLineNo">1697</span>      timeoutForWriteLock = TimeUnit.SECONDS.toMillis(timeoutForWriteLock);<a name="line.1697"></a>
+<span class="sourceLineNo">1698</span>      useTimedWait = true;<a name="line.1698"></a>
+<span class="sourceLineNo">1699</span>    } else if (canAbort) {<a name="line.1699"></a>
+<span class="sourceLineNo">1700</span>      timeoutForWriteLock = conf.getLong(CLOSE_WAIT_TIME, DEFAULT_CLOSE_WAIT_TIME);<a name="line.1700"></a>
+<span class="sourceLineNo">1701</span>      useTimedWait = true;<a name="line.1701"></a>
+<span class="sourceLineNo">1702</span>    }<a name="line.1702"></a>
+<span class="sourceLineNo">1703</span>    if (LOG.isDebugEnabled()) {<a name="line.1703"></a>
+<span class="sourceLineNo">1704</span>      LOG.debug((useTimedWait ? "Time limited wait" : "Waiting without time limit")<a name="line.1704"></a>
+<span class="sourceLineNo">1705</span>        + " for close lock on " + this);<a name="line.1705"></a>
+<span class="sourceLineNo">1706</span>    }<a name="line.1706"></a>
+<span class="sourceLineNo">1707</span>    final long closeWaitInterval = conf.getLong(CLOSE_WAIT_INTERVAL, DEFAULT_CLOSE_WAIT_INTERVAL);<a name="line.1707"></a>
+<span class="sourceLineNo">1708</span>    long elapsedWaitTime = 0;<a name="line.1708"></a>
+<span class="sourceLineNo">1709</span>    if (useTimedWait) {<a name="line.1709"></a>
+<span class="sourceLineNo">1710</span>      // Sanity check configuration<a name="line.1710"></a>
+<span class="sourceLineNo">1711</span>      long remainingWaitTime = timeoutForWriteLock;<a name="line.1711"></a>
+<span class="sourceLineNo">1712</span>      if (remainingWaitTime &lt; closeWaitInterval) {<a name="line.1712"></a>
+<span class="sourceLineNo">1713</span>        LOG.warn("Time limit for close wait of " + timeoutForWriteLock<a name="line.1713"></a>
+<span class="sourceLineNo">1714</span>          + " ms is less than the configured lock acquisition wait interval " + closeWaitInterval<a name="line.1714"></a>
+<span class="sourceLineNo">1715</span>          + " ms, using wait interval as time limit");<a name="line.1715"></a>
+<span class="sourceLineNo">1716</span>        remainingWaitTime = closeWaitInterval;<a name="line.1716"></a>
+<span class="sourceLineNo">1717</span>      }<a name="line.1717"></a>
+<span class="sourceLineNo">1718</span>      boolean acquired = false;<a name="line.1718"></a>
+<span class="sourceLineNo">1719</span>      do {<a name="line.1719"></a>
+<span class="sourceLineNo">1720</span>        long start = EnvironmentEdgeManager.currentTime();<a name="line.1720"></a>
+<span class="sourceLineNo">1721</span>        try {<a name="line.1721"></a>
+<span class="sourceLineNo">1722</span>          acquired = lock.writeLock().tryLock(Math.min(remainingWaitTime, closeWaitInterval),<a name="line.1722"></a>
+<span class="sourceLineNo">1723</span>            TimeUnit.MILLISECONDS);<a name="line.1723"></a>
+<span class="sourceLineNo">1724</span>        } catch (InterruptedException e) {<a name="line.1724"></a>
+<span class="sourceLineNo">1725</span>          // Interrupted waiting for close lock. More likely the server is shutting down, not<a name="line.1725"></a>
+<span class="sourceLineNo">1726</span>          // normal operation, so aborting upon interrupt while waiting on this lock would not<a name="line.1726"></a>
+<span class="sourceLineNo">1727</span>          // provide much value. Throw an IOE (as IIOE) like we would in the case where we<a name="line.1727"></a>
+<span class="sourceLineNo">1728</span>          // fail to acquire the lock.<a name="line.1728"></a>
+<span class="sourceLineNo">1729</span>          String msg = "Interrupted while waiting for close lock on " + this;<a name="line.1729"></a>
+<span class="sourceLineNo">1730</span>          LOG.warn(msg, e);<a name="line.1730"></a>
+<span class="sourceLineNo">1731</span>          throw (InterruptedIOException) new InterruptedIOException(msg).initCause(e);<a name="line.1731"></a>
+<span class="sourceLineNo">1732</span>        }<a name="line.1732"></a>
+<span class="sourceLineNo">1733</span>        long elapsed = EnvironmentEdgeManager.currentTime() - start;<a name="line.1733"></a>
+<span class="sourceLineNo">1734</span>        elapsedWaitTime += elapsed;<a name="line.1734"></a>
+<span class="sourceLineNo">1735</span>        remainingWaitTime -= elapsed;<a name="line.1735"></a>
+<span class="sourceLineNo">1736</span>        if (canAbort &amp;&amp; !acquired &amp;&amp; remainingWaitTime &gt; 0) {<a name="line.1736"></a>
+<span class="sourceLineNo">1737</span>          // Before we loop to wait again, interrupt all region operations that might<a name="line.1737"></a>
+<span class="sourceLineNo">1738</span>          // still be in progress, to encourage them to break out of waiting states or<a name="line.1738"></a>
+<span class="sourceLineNo">1739</span>          // inner loops, throw an exception to clients, and release the read lock via<a name="line.1739"></a>
+<span class="sourceLineNo">1740</span>          // endRegionOperation.<a name="line.1740"></a>
+<span class="sourceLineNo">1741</span>          if (LOG.isDebugEnabled()) {<a name="line.1741"></a>
+<span class="sourceLineNo">1742</span>            LOG.debug("Interrupting region operations after waiting for close lock for "<a name="line.1742"></a>
+<span class="sourceLineNo">1743</span>              + elapsedWaitTime + " ms on " + this + ", " + remainingWaitTime + " ms remaining");<a name="line.1743"></a>
+<span class="sourceLineNo">1744</span>          }<a name="line.1744"></a>
+<span class="sourceLineNo">1745</span>          interruptRegionOperations();<a name="line.1745"></a>
+<span class="sourceLineNo">1746</span>        }<a name="line.1746"></a>
+<span class="sourceLineNo">1747</span>      } while (!acquired &amp;&amp; remainingWaitTime &gt; 0);<a name="line.1747"></a>
+<span class="sourceLineNo">1748</span><a name="line.1748"></a>
+<span class="sourceLineNo">1749</span>      // If we fail to acquire the lock, trigger an abort if we can; otherwise throw an IOE<a name="line.1749"></a>
+<span class="sourceLineNo">1750</span>      // to let the caller know we could not proceed with the close.<a name="line.1750"></a>
+<span class="sourceLineNo">1751</span>      if (!acquired) {<a name="line.1751"></a>
+<span class="sourceLineNo">1752</span>        String msg =<a name="line.1752"></a>
+<span class="sourceLineNo">1753</span>          "Failed to acquire close lock on " + this + " after waiting " + elapsedWaitTime + " ms";<a name="line.1753"></a>
+<span class="sourceLineNo">1754</span>        LOG.error(msg);<a name="line.1754"></a>
+<span class="sourceLineNo">1755</span>        if (canAbort) {<a name="line.1755"></a>
+<span class="sourceLineNo">1756</span>          // If we failed to acquire the write lock, abort the server<a name="line.1756"></a>
+<span class="sourceLineNo">1757</span>          rsServices.abort(msg, null);<a name="line.1757"></a>
+<span class="sourceLineNo">1758</span>        }<a name="line.1758"></a>
+<span class="sourceLineNo">1759</span>        throw new IOException(msg);<a name="line.1759"></a>
+<span class="sourceLineNo">1760</span>      }<a name="line.1760"></a>
 <span class="sourceLineNo">1761</span><a name="line.1761"></a>
-<span class="sourceLineNo">1762</span>      long start = EnvironmentEdgeManager.currentTime();<a name="line.1762"></a>
-<span class="sourceLineNo">1763</span>      lock.writeLock().lock();<a name="line.1763"></a>
-<span class="sourceLineNo">1764</span>      elapsedWaitTime = EnvironmentEdgeManager.currentTime() - start;<a name="line.1764"></a>
-<span class="sourceLineNo">1765</span><a name="line.1765"></a>
-<span class="sourceLineNo">1766</span>    }<a name="line.1766"></a>
+<span class="sourceLineNo">1762</span>    } else {<a name="line.1762"></a>
+<span class="sourceLineNo">1763</span><a name="line.1763"></a>
+<span class="sourceLineNo">1764</span>      long start = EnvironmentEdgeManager.currentTime();<a name="line.1764"></a>
+<span class="sourceLineNo">1765</span>      lock.writeLock().lock();<a name="line.1765"></a>
+<span class="sourceLineNo">1766</span>      elapsedWaitTime = EnvironmentEdgeManager.currentTime() - start;<a name="line.1766"></a>
 <span class="sourceLineNo">1767</span><a name="line.1767"></a>
-<span class="sourceLineNo">1768</span>    if (LOG.isDebugEnabled()) {<a name="line.1768"></a>
-<span class="sourceLineNo">1769</span>      LOG.debug("Acquired close lock on " + this + " after waiting " + elapsedWaitTime + " ms");<a name="line.1769"></a>
-<span class="sourceLineNo">1770</span>    }<a name="line.1770"></a>
-<span class="sourceLineNo">1771</span><a name="line.1771"></a>
-<span class="sourceLineNo">1772</span>    status.setStatus("Disabling writes for close");<a name="line.1772"></a>
-<span class="sourceLineNo">1773</span>    try {<a name="line.1773"></a>
-<span class="sourceLineNo">1774</span>      if (this.isClosed()) {<a name="line.1774"></a>
-<span class="sourceLineNo">1775</span>        status.abort("Already got closed by another process");<a name="line.1775"></a>
-<span class="sourceLineNo">1776</span>        // SplitTransaction handles the null<a name="line.1776"></a>
-<span class="sourceLineNo">1777</span>        return null;<a name="line.1777"></a>
-<span class="sourceLineNo">1778</span>      }<a name="line.1778"></a>
-<span class="sourceLineNo">1779</span>      LOG.debug("Updates disabled for region " + this);<a name="line.1779"></a>
-<span class="sourceLineNo">1780</span>      // Don't flush the cache if we are aborting<a name="line.1780"></a>
-<span class="sourceLineNo">1781</span>      if (!abort &amp;&amp; canFlush) {<a name="line.1781"></a>
-<span class="sourceLineNo">1782</span>        int failedfFlushCount = 0;<a name="line.1782"></a>
-<span class="sourceLineNo">1783</span>        int flushCount = 0;<a name="line.1783"></a>
-<span class="sourceLineNo">1784</span>        long tmp = 0;<a name="line.1784"></a>
-<span class="sourceLineNo">1785</span>        long remainingSize = this.memStoreSizing.getDataSize();<a name="line.1785"></a>
-<span class="sourceLineNo">1786</span>        while (remainingSize &gt; 0) {<a name="line.1786"></a>
-<span class="sourceLineNo">1787</span>          try {<a name="line.1787"></a>
-<span class="sourceLineNo">1788</span>            internalFlushcache(status);<a name="line.1788"></a>
-<span class="sourceLineNo">1789</span>            if (flushCount &gt; 0) {<a name="line.1789"></a>
-<span class="sourceLineNo">1790</span>              LOG.info("Running extra flush, " + flushCount + " (carrying snapshot?) " + this);<a name="line.1790"></a>
-<span class="sourceLineNo">1791</span>            }<a name="line.1791"></a>
-<span class="sourceLineNo">1792</span>            flushCount++;<a name="line.1792"></a>
-<span class="sourceLineNo">1793</span>            tmp = this.memStoreSizing.getDataSize();<a name="line.1793"></a>
-<span class="sourceLineNo">1794</span>            if (tmp &gt;= remainingSize) {<a name="line.1794"></a>
-<span class="sourceLineNo">1795</span>              failedfFlushCount++;<a name="line.1795"></a>
-<span class="sourceLineNo">1796</span>            }<a name="line.1796"></a>
-<span class="sourceLineNo">1797</span>            remainingSize = tmp;<a name="line.1797"></a>
-<span class="sourceLineNo">1798</span>            if (failedfFlushCount &gt; 5) {<a name="line.1798"></a>
-<span class="sourceLineNo">1799</span>              // If we failed 5 times and are unable to clear memory, abort<a name="line.1799"></a>
-<span class="sourceLineNo">1800</span>              // so we do not lose data<a name="line.1800"></a>
-<span class="sourceLineNo">1801</span>              throw new DroppedSnapshotException("Failed clearing memory after " + flushCount<a name="line.1801"></a>
-<span class="sourceLineNo">1802</span>                + " attempts on region: " + Bytes.toStringBinary(getRegionInfo().getRegionName()));<a name="line.1802"></a>
-<span class="sourceLineNo">1803</span>            }<a name="line.1803"></a>
-<span class="sourceLineNo">1804</span>          } catch (IOException ioe) {<a name="line.1804"></a>
-<span class="sourceLineNo">1805</span>            status.setStatus("Failed flush " + this + ", putting online again");<a name="line.1805"></a>
-<span class="sourceLineNo">1806</span>            synchronized (writestate) {<a name="line.1806"></a>
-<span class="sourceLineNo">1807</span>              writestate.writesEnabled = true;<a name="line.1807"></a>
-<span class="sourceLineNo">1808</span>            }<a name="line.1808"></a>
-<span class="sourceLineNo">1809</span>            // Have to throw to upper layers. I can't abort server from here.<a name="line.1809"></a>
-<span class="sourceLineNo">1810</span>            throw ioe;<a name="line.1810"></a>
-<span class="sourceLineNo">1811</span>          }<a name="line.1811"></a>
-<span class="sourceLineNo">1812</span>        }<a name="line.1812"></a>
-<span class="sourceLineNo">1813</span>      }<a name="line.1813"></a>
-<span class="sourceLineNo">1814</span><a name="line.1814"></a>
-<span class="sourceLineNo">1815</span>      Map&lt;byte[], List&lt;HStoreFile&gt;&gt; result = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.1815"></a>
-<span class="sourceLineNo">1816</span>      if (!stores.isEmpty()) {<a name="line.1816"></a>
-<span class="sourceLineNo">1817</span>        // initialize the thread pool for closing stores in parallel.<a name="line.1817"></a>
-<span class="sourceLineNo">1818</span>        ThreadPoolExecutor storeCloserThreadPool =<a name="line.1818"></a>
-<span class="sourceLineNo">1819</span>          getStoreOpenAndCloseThreadPool("StoreCloser-" + getRegionInfo().getRegionNameAsString());<a name="line.1819"></a>
-<span class="sourceLineNo">1820</span>        CompletionService&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt; completionService =<a name="line.1820"></a>
-<span class="sourceLineNo">1821</span>          new ExecutorCompletionService&lt;&gt;(storeCloserThreadPool);<a name="line.1821"></a>
-<span class="sourceLineNo">1822</span><a name="line.1822"></a>
-<span class="sourceLineNo">1823</span>        // close each store in parallel<a name="line.1823"></a>
-<span class="sourceLineNo">1824</span>        for (HStore store : stores.values()) {<a name="line.1824"></a>
-<span class="sourceLineNo">1825</span>          MemStoreSize mss = store.getFlushableSize();<a name="line.1825"></a>
-<span class="sourceLineNo">1826</span>          if (!(abort || mss.getDataSize() == 0 || writestate.readOnly)) {<a name="line.1826"></a>
-<span class="sourceLineNo">1827</span>            if (getRegionServerServices() != null) {<a name="line.1827"></a>
-<span class="sourceLineNo">1828</span>              getRegionServerServices().abort("Assertion failed while closing store "<a name="line.1828"></a>
-<span class="sourceLineNo">1829</span>                + getRegionInfo().getRegionNameAsString() + " " + store<a name="line.1829"></a>
-<span class="sourceLineNo">1830</span>                + ". flushableSize expected=0, actual={" + mss + "}. Current memStoreSize="<a name="line.1830"></a>
-<span class="sourceLineNo">1831</span>                + this.memStoreSizing.getMemStoreSize() + ". Maybe a coprocessor "<a name="line.1831"></a>
-<span class="sourceLineNo">1832</span>                + "operation failed and left the memstore in a partially updated state.", null);<a name="line.1832"></a>
-<span class="sourceLineNo">1833</span>            }<a name="line.1833"></a>
-<span class="sourceLineNo">1834</span>          }<a name="line.1834"></a>
-<span class="sourceLineNo">1835</span>          completionService.submit(new Callable&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt;() {<a name="line.1835"></a>
-<span class="sourceLineNo">1836</span>            @Override<a name="line.1836"></a>
-<span class="sourceLineNo">1837</span>            public Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt; call() throws IOException {<a name="line.1837"></a>
-<span class="sourceLineNo">1838</span>              return new Pair&lt;&gt;(store.getColumnFamilyDescriptor().getName(), store.close());<a name="line.1838"></a>
-<span class="sourceLineNo">1839</span>            }<a name="line.1839"></a>
-<span class="sourceLineNo">1840</span>          });<a name="line.1840"></a>
-<span class="sourceLineNo">1841</span>        }<a name="line.1841"></a>
-<span class="sourceLineNo">1842</span>        try {<a name="line.1842"></a>
-<span class="sourceLineNo">1843</span>          for (int i = 0; i &lt; stores.size(); i++) {<a name="line.1843"></a>
-<span class="sourceLineNo">1844</span>            Future&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt; future = completionService.take();<a name="line.1844"></a>
-<span class="sourceLineNo">1845</span>            Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt; storeFiles = future.get();<a name="line.1845"></a>
-<span class="sourceLineNo">1846</span>            List&lt;HStoreFile&gt; familyFiles = result.get(storeFiles.getFirst());<a name="line.1846"></a>
-<span class="sourceLineNo">1847</span>            if (familyFiles == null) {<a name="line.1847"></a>
-<span class="sourceLineNo">1848</span>              familyFiles = new ArrayList&lt;&gt;();<a name="line.1848"></a>
-<span class="sourceLineNo">1849</span>              result.put(storeFiles.getFirst(), familyFiles);<a name="line.1849"></a>
-<span class="sourceLineNo">1850</span>            }<a name="line.1850"></a>
-<span class="sourceLineNo">1851</span>            familyFiles.addAll(storeFiles.getSecond());<a name="line.1851"></a>
-<span class="sourceLineNo">1852</span>          }<a name="line.1852"></a>
-<span class="sourceLineNo">1853</span>        } catch (InterruptedException e) {<a name="line.1853"></a>
-<span class="sourceLineNo">1854</span>          throw throwOnInterrupt(e);<a name="line.1854"></a>
-<span class="sourceLineNo">1855</span>        } catch (ExecutionException e) {<a name="line.1855"></a>
-<span class="sourceLineNo">1856</span>          Throwable cause = e.getCause();<a name="line.1856"></a>
-<span class="sourceLineNo">1857</span>          if (cause instanceof IOException) {<a name="line.1857"></a>
-<span class="sourceLineNo">1858</span>            throw (IOException) cause;<a name="line.1858"></a>
-<span class="sourceLineNo">1859</span>          }<a name="line.1859"></a>
-<span class="sourceLineNo">1860</span>          throw new IOException(cause);<a name="line.1860"></a>
-<span class="sourceLineNo">1861</span>        } finally {<a name="line.1861"></a>
-<span class="sourceLineNo">1862</span>          storeCloserThreadPool.shutdownNow();<a name="line.1862"></a>
-<span class="sourceLineNo">1863</span>        }<a name="line.1863"></a>
-<span class="sourceLineNo">1864</span>      }<a name="line.1864"></a>
-<span class="sourceLineNo">1865</span><a name="line.1865"></a>
-<span class="sourceLineNo">1866</span>      status.setStatus("Writing region close event to WAL");<a name="line.1866"></a>
-<span class="sourceLineNo">1867</span>      // Always write close marker to wal even for read only table. This is not a big problem as we<a name="line.1867"></a>
-<span class="sourceLineNo">1868</span>      // do not write any data into the region; it is just a meta edit in the WAL file.<a name="line.1868"></a>
-<span class="sourceLineNo">1869</span>      if (<a name="line.1869"></a>
-<span class="sourceLineNo">1870</span>        !abort &amp;&amp; wal != null &amp;&amp; getRegionServerServices() != null<a name="line.1870"></a>
-<span class="sourceLineNo">1871</span>          &amp;&amp; RegionReplicaUtil.isDefaultReplica(getRegionInfo())<a name="line.1871"></a>
-<span class="sourceLineNo">1872</span>      ) {<a name="line.1872"></a>
-<span class="sourceLineNo">1873</span>        writeRegionCloseMarker(wal);<a name="line.1873"></a>
-<span class="sourceLineNo">1874</span>      }<a name="line.1874"></a>
-<span class="sourceLineNo">1875</span>      this.closed.set(true);<a name="line.1875"></a>
-<span class="sourceLineNo">1876</span>      if (!canFlush) {<a name="line.1876"></a>
-<span class="sourceLineNo">1877</span>        decrMemStoreSize(this.memStoreSizing.getMemStoreSize());<a name="line.1877"></a>
-<span class="sourceLineNo">1878</span>      } else if (this.memStoreSizing.getDataSize() != 0) {<a name="line.1878"></a>
-<span class="sourceLineNo">1879</span>        LOG.error("Memstore data size is {} in region {}", this.memStoreSizing.getDataSize(), this);<a name="line.1879"></a>
-<span class="sourceLineNo">1880</span>      }<a name="line.1880"></a>
-<span class="sourceLineNo">1881</span>      if (coprocessorHost != null) {<a name="line.1881"></a>
-<span class="sourceLineNo">1882</span>        status.setStatus("Running coprocessor post-close hooks");<a name="line.1882"></a>
-<span class="sourceLineNo">1883</span>        this.coprocessorHost.postClose(abort);<a name="line.1883"></a>
-<span class="sourceLineNo">1884</span>      }<a name="line.1884"></a>
-<span class="sourceLineNo">1885</span>      if (this.metricsRegion != null) {<a name="line.1885"></a>
-<span class="sourceLineNo">1886</span>        this.metricsRegion.close();<a name="line.1886"></a>
-<span class="sourceLineNo">1887</span>      }<a name="line.1887"></a>
-<span class="sourceLineNo">1888</span>      if (this.metricsRegionWrapper != null) {<a name="line.1888"></a>
-<span class="sourceLineNo">1889</span>        Closeables.close(this.metricsRegionWrapper, true);<a name="line.1889"></a>
-<span class="sourceLineNo">1890</span>      }<a name="line.1890"></a>
-<span class="sourceLineNo">1891</span>      status.markComplete("Closed");<a name="line.1891"></a>
-<span class="sourceLineNo">1892</span>      LOG.info("Closed {}", this);<a name="line.1892"></a>
-<span class="sourceLineNo">1893</span>      return result;<a name="line.1893"></a>
-<span class="sourceLineNo">1894</span>    } finally {<a name="line.1894"></a>
-<span class="sourceLineNo">1895</span>      lock.writeLock().unlock();<a name="line.1895"></a>
-<span class="sourceLineNo">1896</span>    }<a name="line.1896"></a>
-<span class="sourceLineNo">1897</span>  }<a name="line.1897"></a>
-<span class="sourceLineNo">1898</span><a name="line.1898"></a>
-<span class="sourceLineNo">1899</span>  /** Wait for all current flushes and compactions of the region to complete */<a name="line.1899"></a>
-<span class="sourceLineNo">1900</span>  // TODO HBASE-18906. Check the usage (if any) in Phoenix and expose this or give alternate way for<a name="line.1900"></a>
-<span class="sourceLineNo">1901</span>  // Phoenix needs.<a name="line.1901"></a>
-<span class="sourceLineNo">1902</span>  public void waitForFlushesAndCompactions() {<a name="line.1902"></a>
-<span class="sourceLineNo">1903</span>    synchronized (writestate) {<a name="line.1903"></a>
-<span class="sourceLineNo">1904</span>      if (this.writestate.readOnly) {<a name="line.1904"></a>
-<span class="sourceLineNo">1905</span>        // we should not wait for replayed flushed if we are read only (for example in case the<a name="line.1905"></a>
-<span class="sourceLineNo">1906</span>        // region is a secondary replica).<a name="line.1906"></a>
-<span class="sourceLineNo">1907</span>        return;<a name="line.1907"></a>
-<span class="sourceLineNo">1908</span>      }<a name="line.1908"></a>
-<span class="sourceLineNo">1909</span>      boolean interrupted = false;<a name="line.1909"></a>
-<span class="sourceLineNo">1910</span>      try {<a name="line.1910"></a>
-<span class="sourceLineNo">1911</span>        while (writestate.compacting.get() &gt; 0 || writestate.flushing) {<a name="line.1911"></a>
-<span class="sourceLineNo">1912</span>          LOG.debug("waiting for " + writestate.compacting + " compactions"<a name="line.1912"></a>
-<span class="sourceLineNo">1913</span>            + (writestate.flushing ? " &amp; cache flush" : "") + " to complete for region " + this);<a name="line.1913"></a>
-<span class="sourceLineNo">1914</span>          try {<a name="line.1914"></a>
-<span class="sourceLineNo">1915</span>            writestate.wait();<a name="line.1915"></a>
-<span class="sourceLineNo">1916</span>          } catch (InterruptedException iex) {<a name="line.1916"></a>
-<span class="sourceLineNo">1917</span>            // essentially ignore and propagate the interrupt back up<a name="line.1917"></a>
-<span class="sourceLineNo">1918</span>            LOG.warn("Interrupted while waiting in region {}", this);<a name="line.1918"></a>
-<span class="sourceLineNo">1919</span>            interrupted = true;<a name="line.1919"></a>
-<span class="sourceLineNo">1920</span>            break;<a name="line.1920"></a>
-<span class="sourceLineNo">1921</span>          }<a name="line.1921"></a>
-<span class="sourceLineNo">1922</span>        }<a name="line.1922"></a>
-<span class="sourceLineNo">1923</span>      } finally {<a name="line.1923"></a>
-<span class="sourceLineNo">1924</span>        if (interrupted) {<a name="line.1924"></a>
-<span class="sourceLineNo">1925</span>          Thread.currentThread().interrupt();<a name="line.1925"></a>
-<span class="sourceLineNo">1926</span>        }<a name="line.1926"></a>
-<span class="sourceLineNo">1927</span>      }<a name="line.1927"></a>
-<span class="sourceLineNo">1928</span>    }<a name="line.1928"></a>
-<span class="sourceLineNo">1929</span>  }<a name="line.1929"></a>
-<span class="sourceLineNo">1930</span><a name="line.1930"></a>
-<span class="sourceLineNo">1931</span>  /**<a name="line.1931"></a>
-<span class="sourceLineNo">1932</span>   * Wait for all current flushes of the region to complete<a name="line.1932"></a>
-<span class="sourceLineNo">1933</span>   */<a name="line.1933"></a>
-<span class="sourceLineNo">1934</span>  public void waitForFlushes() {<a name="line.1934"></a>
-<span class="sourceLineNo">1935</span>    waitForFlushes(0);// Unbound wait<a name="line.1935"></a>
-<span class="sourceLineNo">1936</span>  }<a name="line.1936"></a>
-<span class="sourceLineNo">1937</span><a name="line.1937"></a>
-<span class="sourceLineNo">1938</span>  @Override<a name="line.1938"></a>
-<span class="sourceLineNo">1939</span>  public boolean waitForFlushes(long timeout) {<a name="line.1939"></a>
-<span class="sourceLineNo">1940</span>    synchronized (writestate) {<a name="line.1940"></a>
-<span class="sourceLineNo">1941</span>      if (this.writestate.readOnly) {<a name="line.1941"></a>
-<span class="sourceLineNo">1942</span>        // we should not wait for replayed flushed if we are read only (for example in case the<a name="line.1942"></a>
-<span class="sourceLineNo">1943</span>        // region is a secondary replica).<a name="line.1943"></a>
-<span class="sourceLineNo">1944</span>        return true;<a name="line.1944"></a>
-<span class="sourceLineNo">1945</span>      }<a name="line.1945"></a>
-<span class="sourceLineNo">1946</span>      if (!writestate.flushing) return true;<a name="line.1946"></a>
-<span class="sourceLineNo">1947</span>      long start = EnvironmentEdgeManager.currentTime();<a name="line.1947"></a>
-<span class="sourceLineNo">1948</span>      long duration = 0;<a name="line.1948"></a>
-<span class="sourceLineNo">1949</span>      boolean interrupted = false;<a name="line.1949"></a>
-<span class="sourceLineNo">1950</span>      LOG.debug("waiting for cache flush to complete for region " + this);<a name="line.1950"></a>
-<span class="sourceLineNo">1951</span>      try {<a name="line.1951"></a>
-<span class="sourceLineNo">1952</span>        while (writestate.flushing) {<a name="line.1952"></a>
-<span class="sourceLineNo">1953</span>          if (timeout &gt; 0 &amp;&amp; duration &gt;= timeout) break;<a name="line.1953"></a>
-<span class="sourceLineNo">1954</span>          try {<a name="line.1954"></a>
-<span class="sourceLineNo">1955</span>            long toWait = timeout == 0 ? 0 : (timeout - duration);<a name="line.1955"></a>
-<span class="sourceLineNo">1956</span>            writestate.wait(toWait);<a name="line.1956"></a>
-<span class="sourceLineNo">1957</span>          } catch (InterruptedException iex) {<a name="line.1957"></a>
-<span class="sourceLineNo">1958</span>            // essentially ignore and propagate the interrupt back up<a name="line.1958"></a>
-<span class="sourceLineNo">1959</span>            LOG.warn("Interrupted while waiting in region {}", this);<a name="line.1959"></a>
-<span class="sourceLineNo">1960</span>            interrupted = true;<a name="line.1960"></a>
-<span class="sourceLineNo">1961</span>            break;<a name="line.1961"></a>
-<span class="sourceLineNo">1962</span>          } finally {<a name="line.1962"></a>
-<span class="sourceLineNo">1963</span>            duration = EnvironmentEdgeManager.currentTime() - start;<a name="line.1963"></a>
-<span class="sourceLineNo">1964</span>          }<a name="line.1964"></a>
-<span class="sourceLineNo">1965</span>        }<a name="line.1965"></a>
-<span class="sourceLineNo">1966</span>      } finally {<a name="line.1966"></a>
-<span class="sourceLineNo">1967</span>        if (interrupted) {<a name="line.1967"></a>
-<span class="sourceLineNo">1968</span>          Thread.currentThread().interrupt();<a name="line.1968"></a>
-<span class="sourceLineNo">1969</span>        }<a name="line.1969"></a>
-<span class="sourceLineNo">1970</span>      }<a name="line.1970"></a>
-<span class="sourceLineNo">1971</span>      LOG.debug("Waited {} ms for region {} flush to complete", duration, this);<a name="line.1971"></a>
-<span class="sourceLineNo">1972</span>      return !(writestate.flushing);<a name="line.1972"></a>
-<span class="sourceLineNo">1973</span>    }<a name="line.1973"></a>
-<span class="sourceLineNo">1974</span>  }<a name="line.1974"></a>
-<span class="sourceLineNo">1975</span><a name="line.1975"></a>
-<span class="sourceLineNo">1976</span>  @Override<a name="line.1976"></a>
-<span class="sourceLineNo">1977</span>  public Configuration getReadOnlyConfiguration() {<a name="line.1977"></a>
-<span class="sourceLineNo">1978</span>    return new ReadOnlyConfiguration(this.conf);<a name="line.1978"></a>
-<span class="sourceLineNo">1979</span>  }<a name="line.1979"></a>
-<span class="sourceLineNo">1980</span><a name="line.1980"></a>
-<span class="sourceLineNo">1981</span>  private ThreadPoolExecutor getStoreOpenAndCloseThreadPool(final String threadNamePrefix) {<a name="line.1981"></a>
-<span class="sourceLineNo">1982</span>    int numStores = Math.max(1, this.htableDescriptor.getColumnFamilyCount());<a name="line.1982"></a>
-<span class="sourceLineNo">1983</span>    int maxThreads = Math.min(numStores, conf.getInt(HConstants.HSTORE_OPEN_AND_CLOSE_THREADS_MAX,<a name="line.1983"></a>
-<span class="sourceLineNo">1984</span>      HConstants.DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX));<a name="line.1984"></a>
-<span class="sourceLineNo">1985</span>    return getOpenAndCloseThreadPool(maxThreads, threadNamePrefix);<a name="line.1985"></a>
-<span class="sourceLineNo">1986</span>  }<a name="line.1986"></a>
-<span class="sourceLineNo">1987</span><a name="line.1987"></a>
-<span class="sourceLineNo">1988</span>  ThreadPoolExecutor getStoreFileOpenAndCloseThreadPool(final String threadNamePrefix) {<a name="line.1988"></a>
-<span class="sourceLineNo">1989</span>    int numStores = Math.max(1, this.htableDescriptor.getColumnFamilyCount());<a name="line.1989"></a>
-<span class="sourceLineNo">1990</span>    int maxThreads = Math.max(1, conf.getInt(HConstants.HSTORE_OPEN_AND_CLOSE_THREADS_MAX,<a name="line.1990"></a>
-<span class="sourceLineNo">1991</span>      HConstants.DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX) / numStores);<a name="line.1991"></a>
-<span class="sourceLineNo">1992</span>    return getOpenAndCloseThreadPool(maxThreads, threadNamePrefix);<a name="line.1992"></a>
-<span class="sourceLineNo">1993</span>  }<a name="line.1993"></a>
-<span class="sourceLineNo">1994</span><a name="line.1994"></a>
-<span class="sourceLineNo">1995</span>  private static ThreadPoolExecutor getOpenAndCloseThreadPool(int maxThreads,<a name="line.1995"></a>
-<span class="sourceLineNo">1996</span>    final String threadNamePrefix) {<a name="line.1996"></a>
-<span class="sourceLineNo">1997</span>    return Threads.getBoundedCachedThreadPool(maxThreads, 30L, TimeUnit.SECONDS,<a name="line.1997"></a>
-<span class="sourceLineNo">1998</span>      new ThreadFactory() {<a name="line.1998"></a>
-<span class="sourceLineNo">1999</span>        private int count = 1;<a name="line.1999"></a>
-<span class="sourceLineNo">2000</span><a name="line.2000"></a>
-<span class="sourceLineNo">2001</span>        @Override<a name="line.2001"></a>
-<span class="sourceLineNo">2002</span>        public Thread newThread(Runnable r) {<a name="line.2002"></a>
-<span class="sourceLineNo">2003</span>          return new Thread(r, threadNamePrefix + "-" + count++);<a name="line.2003"></a>
-<span class="sourceLineNo">2004</span>        }<a name="line.2004"></a>
-<span class="sourceLineNo">2005</span>      });<a name="line.2005"></a>
-<span class="sourceLineNo">2006</span>  }<a name="line.2006"></a>
-<span class="sourceLineNo">2007</span><a name="line.2007"></a>
-<span class="sourceLineNo">2008</span>  /** Returns True if its worth doing a flush before we put up the close flag. */<a name="line.2008"></a>
-<span class="sourceLineNo">2009</span>  private boolean worthPreFlushing() {<a name="line.2009"></a>
-<span class="sourceLineNo">2010</span>    return this.memStoreSizing.getDataSize()<a name="line.2010"></a>
-<span class="sourceLineNo">2011</span>        &gt; this.conf.getLong("hbase.hregion.preclose.flush.size", 1024 * 1024 * 5);<a name="line.2011"></a>
-<span class="sourceLineNo">2012</span>  }<a name="line.2012"></a>
-<span class="sourceLineNo">2013</span><a name="line.2013"></a>
-<span class="sourceLineNo">2014</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.2014"></a>
-<span class="sourceLineNo">2015</span>  // HRegion accessors<a name="line.2015"></a>
+<span class="sourceLineNo">1768</span>    }<a name="line.1768"></a>
+<span class="sourceLineNo">1769</span><a name="line.1769"></a>
+<span class="sourceLineNo">1770</span>    if (LOG.isDebugEnabled()) {<a name="line.1770"></a>
+<span class="sourceLineNo">1771</span>      LOG.debug("Acquired close lock on " + this + " after waiting " + elapsedWaitTime + " ms");<a name="line.1771"></a>
+<span class="sourceLineNo">1772</span>    }<a name="line.1772"></a>
+<span class="sourceLineNo">1773</span><a name="line.1773"></a>
+<span class="sourceLineNo">1774</span>    status.setStatus("Disabling writes for close");<a name="line.1774"></a>
+<span class="sourceLineNo">1775</span>    try {<a name="line.1775"></a>
+<span class="sourceLineNo">1776</span>      if (this.isClosed()) {<a name="line.1776"></a>
+<span class="sourceLineNo">1777</span>        status.abort("Already got closed by another process");<a name="line.1777"></a>
+<span class="sourceLineNo">1778</span>        // SplitTransaction handles the null<a name="line.1778"></a>
+<span class="sourceLineNo">1779</span>        return null;<a name="line.1779"></a>
+<span class="sourceLineNo">1780</span>      }<a name="line.1780"></a>
+<span class="sourceLineNo">1781</span>      LOG.debug("Updates disabled for region " + this);<a name="line.1781"></a>
+<span class="sourceLineNo">1782</span>      // Don't flush the cache if we are aborting<a name="line.1782"></a>
+<span class="sourceLineNo">1783</span>      if (!abort &amp;&amp; canFlush) {<a name="line.1783"></a>
+<span class="sourceLineNo">1784</span>        int failedfFlushCount = 0;<a name="line.1784"></a>
+<span class="sourceLineNo">1785</span>        int flushCount = 0;<a name="line.1785"></a>
+<span class="sourceLineNo">1786</span>        long tmp = 0;<a name="line.1786"></a>
+<span class="sourceLineNo">1787</span>        long remainingSize = this.memStoreSizing.getDataSize();<a name="line.1787"></a>
+<span class="sourceLineNo">1788</span>        while (remainingSize &gt; 0) {<a name="line.1788"></a>
+<span class="sourceLineNo">1789</span>          try {<a name="line.1789"></a>
+<span class="sourceLineNo">1790</span>            internalFlushcache(status);<a name="line.1790"></a>
+<span class="sourceLineNo">1791</span>            if (flushCount &gt; 0) {<a name="line.1791"></a>
+<span class="sourceLineNo">1792</span>              LOG.info("Running extra flush, " + flushCount + " (carrying snapshot?) " + this);<a name="line.1792"></a>
+<span class="sourceLineNo">1793</span>            }<a name="line.1793"></a>
+<span class="sourceLineNo">1794</span>            flushCount++;<a name="line.1794"></a>
+<span class="sourceLineNo">1795</span>            tmp = this.memStoreSizing.getDataSize();<a name="line.1795"></a>
+<span class="sourceLineNo">1796</span>            if (tmp &gt;= remainingSize) {<a name="line.1796"></a>
+<span class="sourceLineNo">1797</span>              failedfFlushCount++;<a name="line.1797"></a>
+<span class="sourceLineNo">1798</span>            }<a name="line.1798"></a>
+<span class="sourceLineNo">1799</span>            remainingSize = tmp;<a name="line.1799"></a>
+<span class="sourceLineNo">1800</span>            if (failedfFlushCount &gt; 5) {<a name="line.1800"></a>
+<span class="sourceLineNo">1801</span>              // If we failed 5 times and are unable to clear memory, abort<a name="line.1801"></a>
+<span class="sourceLineNo">1802</span>              // so we do not lose data<a name="line.1802"></a>
+<span class="sourceLineNo">1803</span>              throw new DroppedSnapshotException("Failed clearing memory after " + flushCount<a name="line.1803"></a>
+<span class="sourceLineNo">1804</span>                + " attempts on region: " + Bytes.toStringBinary(getRegionInfo().getRegionName()));<a name="line.1804"></a>
+<span class="sourceLineNo">1805</span>            }<a name="line.1805"></a>
+<span class="sourceLineNo">1806</span>          } catch (IOException ioe) {<a name="line.1806"></a>
+<span class="sourceLineNo">1807</span>            status.setStatus("Failed flush " + this + ", putting online again");<a name="line.1807"></a>
+<span class="sourceLineNo">1808</span>            synchronized (writestate) {<a name="line.1808"></a>
+<span class="sourceLineNo">1809</span>              writestate.writesEnabled = true;<a name="line.1809"></a>
+<span class="sourceLineNo">1810</span>            }<a name="line.1810"></a>
+<span class="sourceLineNo">1811</span>            // Have to throw to upper layers. I can't abort server from here.<a name="line.1811"></a>
+<span class="sourceLineNo">1812</span>            throw ioe;<a name="line.1812"></a>
+<span class="sourceLineNo">1813</span>          }<a name="line.1813"></a>
+<span class="sourceLineNo">1814</span>        }<a name="line.1814"></a>
+<span class="sourceLineNo">1815</span>      }<a name="line.1815"></a>
+<span class="sourceLineNo">1816</span><a name="line.1816"></a>
+<span class="sourceLineNo">1817</span>      Map&lt;byte[], List&lt;HStoreFile&gt;&gt; result = new TreeMap&lt;&gt;(Bytes.BYTES_COMPARATOR);<a name="line.1817"></a>
+<span class="sourceLineNo">1818</span>      if (!stores.isEmpty()) {<a name="line.1818"></a>
+<span class="sourceLineNo">1819</span>        // initialize the thread pool for closing stores in parallel.<a name="line.1819"></a>
+<span class="sourceLineNo">1820</span>        ThreadPoolExecutor storeCloserThreadPool =<a name="line.1820"></a>
+<span class="sourceLineNo">1821</span>          getStoreOpenAndCloseThreadPool("StoreCloser-" + getRegionInfo().getRegionNameAsString());<a name="line.1821"></a>
+<span class="sourceLineNo">1822</span>        CompletionService&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt; completionService =<a name="line.1822"></a>
+<span class="sourceLineNo">1823</span>          new ExecutorCompletionService&lt;&gt;(storeCloserThreadPool);<a name="line.1823"></a>
+<span class="sourceLineNo">1824</span><a name="line.1824"></a>
+<span class="sourceLineNo">1825</span>        // close each store in parallel<a name="line.1825"></a>
+<span class="sourceLineNo">1826</span>        for (HStore store : stores.values()) {<a name="line.1826"></a>
+<span class="sourceLineNo">1827</span>          MemStoreSize mss = store.getFlushableSize();<a name="line.1827"></a>
+<span class="sourceLineNo">1828</span>          if (!(abort || mss.getDataSize() == 0 || writestate.readOnly)) {<a name="line.1828"></a>
+<span class="sourceLineNo">1829</span>            if (getRegionServerServices() != null) {<a name="line.1829"></a>
+<span class="sourceLineNo">1830</span>              getRegionServerServices().abort("Assertion failed while closing store "<a name="line.1830"></a>
+<span class="sourceLineNo">1831</span>                + getRegionInfo().getRegionNameAsString() + " " + store<a name="line.1831"></a>
+<span class="sourceLineNo">1832</span>                + ". flushableSize expected=0, actual={" + mss + "}. Current memStoreSize="<a name="line.1832"></a>
+<span class="sourceLineNo">1833</span>                + this.memStoreSizing.getMemStoreSize() + ". Maybe a coprocessor "<a name="line.1833"></a>
+<span class="sourceLineNo">1834</span>                + "operation failed and left the memstore in a partially updated state.", null);<a name="line.1834"></a>
+<span class="sourceLineNo">1835</span>            }<a name="line.1835"></a>
+<span class="sourceLineNo">1836</span>          }<a name="line.1836"></a>
+<span class="sourceLineNo">1837</span>          completionService.submit(new Callable&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt;() {<a name="line.1837"></a>
+<span class="sourceLineNo">1838</span>            @Override<a name="line.1838"></a>
+<span class="sourceLineNo">1839</span>            public Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt; call() throws IOException {<a name="line.1839"></a>
+<span class="sourceLineNo">1840</span>              return new Pair&lt;&gt;(store.getColumnFamilyDescriptor().getName(), store.close());<a name="line.1840"></a>
+<span class="sourceLineNo">1841</span>            }<a name="line.1841"></a>
+<span class="sourceLineNo">1842</span>          });<a name="line.1842"></a>
+<span class="sourceLineNo">1843</span>        }<a name="line.1843"></a>
+<span class="sourceLineNo">1844</span>        try {<a name="line.1844"></a>
+<span class="sourceLineNo">1845</span>          for (int i = 0; i &lt; stores.size(); i++) {<a name="line.1845"></a>
+<span class="sourceLineNo">1846</span>            Future&lt;Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt;&gt; future = completionService.take();<a name="line.1846"></a>
+<span class="sourceLineNo">1847</span>            Pair&lt;byte[], Collection&lt;HStoreFile&gt;&gt; storeFiles = future.get();<a name="line.1847"></a>
+<span class="sourceLineNo">1848</span>            List&lt;HStoreFile&gt; familyFiles = result.get(storeFiles.getFirst());<a name="line.1848"></a>
+<span class="sourceLineNo">1849</span>            if (familyFiles == null) {<a name="line.1849"></a>
+<span class="sourceLineNo">1850</span>              familyFiles = new ArrayList&lt;&gt;();<a name="line.1850"></a>
+<span class="sourceLineNo">1851</span>              result.put(storeFiles.getFirst(), familyFiles);<a name="line.1851"></a>
+<span class="sourceLineNo">1852</span>            }<a name="line.1852"></a>
+<span class="sourceLineNo">1853</span>            familyFiles.addAll(storeFiles.getSecond());<a name="line.1853"></a>
+<span class="sourceLineNo">1854</span>          }<a name="line.1854"></a>
+<span class="sourceLineNo">1855</span>        } catch (InterruptedException e) {<a name="line.1855"></a>
+<span class="sourceLineNo">1856</span>          throw throwOnInterrupt(e);<a name="line.1856"></a>
+<span class="sourceLineNo">1857</span>        } catch (ExecutionException e) {<a name="line.1857"></a>
+<span class="sourceLineNo">1858</span>          Throwable cause = e.getCause();<a name="line.1858"></a>
+<span class="sourceLineNo">1859</span>          if (cause instanceof IOException) {<a name="line.1859"></a>
+<span class="sourceLineNo">1860</span>            throw (IOException) cause;<a name="line.1860"></a>
+<span class="sourceLineNo">1861</span>          }<a name="line.1861"></a>
+<span class="sourceLineNo">1862</span>          throw new IOException(cause);<a name="line.1862"></a>
+<span class="sourceLineNo">1863</span>        } finally {<a name="line.1863"></a>
+<span class="sourceLineNo">1864</span>          storeCloserThreadPool.shutdownNow();<a name="line.1864"></a>
+<span class="sourceLineNo">1865</span>        }<a name="line.1865"></a>
+<span class="sourceLineNo">1866</span>      }<a name="line.1866"></a>
+<span class="sourceLineNo">1867</span><a name="line.1867"></a>
+<span class="sourceLineNo">1868</span>      status.setStatus("Writing region close event to WAL");<a name="line.1868"></a>
+<span class="sourceLineNo">1869</span>      // Always write close marker to wal even for read only table. This is not a big problem as we<a name="line.1869"></a>
+<span class="sourceLineNo">1870</span>      // do not write any data into the region; it is just a meta edit in the WAL file.<a name="line.1870"></a>
+<span class="sourceLineNo">1871</span>      if (<a name="line.1871"></a>
+<span class="sourceLineNo">1872</span>        !abort &amp;&amp; wal != null &amp;&amp; getRegionServerServices() != null<a name="line.1872"></a>
+<span class="sourceLineNo">1873</span>          &amp;&amp; RegionReplicaUtil.isDefaultReplica(getRegionInfo())<a name="line.1873"></a>
+<span class="sourceLineNo">1874</span>      ) {<a name="line.1874"></a>
+<span class="sourceLineNo">1875</span>        writeRegionCloseMarker(wal);<a name="line.1875"></a>
+<span class="sourceLineNo">1876</span>      }<a name="line.1876"></a>
+<span class="sourceLineNo">1877</span>      this.closed.set(true);<a name="line.1877"></a>
+<span class="sourceLineNo">1878</span>      if (!canFlush) {<a name="line.1878"></a>
+<span class="sourceLineNo">1879</span>        decrMemStoreSize(this.memStoreSizing.getMemStoreSize());<a name="line.1879"></a>
+<span class="sourceLineNo">1880</span>      } else if (this.memStoreSizing.getDataSize() != 0) {<a name="line.1880"></a>
+<span class="sourceLineNo">1881</span>        LOG.error("Memstore data size is {} in region {}", this.memStoreSizing.getDataSize(), this);<a name="line.1881"></a>
+<span class="sourceLineNo">1882</span>      }<a name="line.1882"></a>
+<span class="sourceLineNo">1883</span>      if (coprocessorHost != null) {<a name="line.1883"></a>
+<span class="sourceLineNo">1884</span>        status.setStatus("Running coprocessor post-close hooks");<a name="line.1884"></a>
+<span class="sourceLineNo">1885</span>        this.coprocessorHost.postClose(abort);<a name="line.1885"></a>
+<span class="sourceLineNo">1886</span>      }<a name="line.1886"></a>
+<span class="sourceLineNo">1887</span>      if (this.metricsRegion != null) {<a name="line.1887"></a>
+<span class="sourceLineNo">1888</span>        this.metricsRegion.close();<a name="line.1888"></a>
+<span class="sourceLineNo">1889</span>      }<a name="line.1889"></a>
+<span class="sourceLineNo">1890</span>      if (this.metricsRegionWrapper != null) {<a name="line.1890"></a>
+<span class="sourceLineNo">1891</span>        Closeables.close(this.metricsRegionWrapper, true);<a name="line.1891"></a>
+<span class="sourceLineNo">1892</span>      }<a name="line.1892"></a>
+<span class="sourceLineNo">1893</span>      status.markComplete("Closed");<a name="line.1893"></a>
+<span class="sourceLineNo">1894</span>      LOG.info("Closed {}", this);<a name="line.1894"></a>
+<span class="sourceLineNo">1895</span>      return result;<a name="line.1895"></a>
+<span class="sourceLineNo">1896</span>    } finally {<a name="line.1896"></a>
+<span class="sourceLineNo">1897</span>      lock.writeLock().unlock();<a name="line.1897"></a>
+<span class="sourceLineNo">1898</span>    }<a name="line.1898"></a>
+<span class="sourceLineNo">1899</span>  }<a name="line.1899"></a>
+<span class="sourceLineNo">1900</span><a name="line.1900"></a>
+<span class="sourceLineNo">1901</span>  /** Wait for all current flushes and compactions of the region to complete */<a name="line.1901"></a>
+<span class="sourceLineNo">1902</span>  // TODO HBASE-18906. Check the usage (if any) in Phoenix and expose this or give alternate way for<a name="line.1902"></a>
+<span class="sourceLineNo">1903</span>  // Phoenix needs.<a name="line.1903"></a>
+<span class="sourceLineNo">1904</span>  public void waitForFlushesAndCompactions() {<a name="line.1904"></a>
+<span class="sourceLineNo">1905</span>    synchronized (writestate) {<a name="line.1905"></a>
+<span class="sourceLineNo">1906</span>      if (this.writestate.readOnly) {<a name="line.1906"></a>
+<span class="sourceLineNo">1907</span>        // we should not wait for replayed flushed if we are read only (for example in case the<a name="line.1907"></a>
+<span class="sourceLineNo">1908</span>        // region is a secondary replica).<a name="line.1908"></a>
+<span class="sourceLineNo">1909</span>        return;<a name="line.1909"></a>
+<span class="sourceLineNo">1910</span>      }<a name="line.1910"></a>
+<span class="sourceLineNo">1911</span>      boolean interrupted = false;<a name="line.1911"></a>
+<span class="sourceLineNo">1912</span>      try {<a name="line.1912"></a>
+<span class="sourceLineNo">1913</span>        while (writestate.compacting.get() &gt; 0 || writestate.flushing) {<a name="line.1913"></a>
+<span class="sourceLineNo">1914</span>          LOG.debug("waiting for " + writestate.compacting + " compactions"<a name="line.1914"></a>
+<span class="sourceLineNo">1915</span>            + (writestate.flushing ? " &amp; cache flush" : "") + " to complete for region " + this);<a name="line.1915"></a>
+<span class="sourceLineNo">1916</span>          try {<a name="line.1916"></a>
+<span class="sourceLineNo">1917</span>            writestate.wait();<a name="line.1917"></a>
+<span class="sourceLineNo">1918</span>          } catch (InterruptedException iex) {<a name="line.1918"></a>
+<span class="sourceLineNo">1919</span>            // essentially ignore and propagate the interrupt back up<a name="line.1919"></a>
+<span class="sourceLineNo">1920</span>            LOG.warn("Interrupted while waiting in region {}", this);<a name="line.1920"></a>
+<span class="sourceLineNo">1921</span>            interrupted = true;<a name="line.1921"></a>
+<span class="sourceLineNo">1922</span>            break;<a name="line.1922"></a>
+<span class="sourceLineNo">1923</span>          }<a name="line.1923"></a>
+<span class="sourceLineNo">1924</span>        }<a name="line.1924"></a>
+<span class="sourceLineNo">1925</span>      } finally {<a name="line.1925"></a>
+<span class="sourceLineNo">1926</span>        if (interrupted) {<a name="line.1926"></a>
+<span class="sourceLineNo">1927</span>          Thread.currentThread().interrupt();<a name="line.1927"></a>
+<span class="sourceLineNo">1928</span>        }<a name="line.1928"></a>
+<span class="sourceLineNo">1929</span>      }<a name="line.1929"></a>
+<span class="sourceLineNo">1930</span>    }<a name="line.1930"></a>
+<span class="sourceLineNo">1931</span>  }<a name="line.1931"></a>
+<span class="sourceLineNo">1932</span><a name="line.1932"></a>
+<span class="sourceLineNo">1933</span>  /**<a name="line.1933"></a>
+<span class="sourceLineNo">1934</span>   * Wait for all current flushes of the region to complete<a name="line.1934"></a>
+<span class="sourceLineNo">1935</span>   */<a name="line.1935"></a>
+<span class="sourceLineNo">1936</span>  public void waitForFlushes() {<a name="line.1936"></a>
+<span class="sourceLineNo">1937</span>    waitForFlushes(0);// Unbound wait<a name="line.1937"></a>
+<span class="sourceLineNo">1938</span>  }<a name="line.1938"></a>
+<span class="sourceLineNo">1939</span><a name="line.1939"></a>
+<span class="sourceLineNo">1940</span>  @Override<a name="line.1940"></a>
+<span class="sourceLineNo">1941</span>  public boolean waitForFlushes(long timeout) {<a name="line.1941"></a>
+<span class="sourceLineNo">1942</span>    synchronized (writestate) {<a name="line.1942"></a>
+<span class="sourceLineNo">1943</span>      if (this.writestate.readOnly) {<a name="line.1943"></a>
+<span class="sourceLineNo">1944</span>        // we should not wait for replayed flushed if we are read only (for example in case the<a name="line.1944"></a>
+<span class="sourceLineNo">1945</span>        // region is a secondary replica).<a name="line.1945"></a>
+<span class="sourceLineNo">1946</span>        return true;<a name="line.1946"></a>
+<span class="sourceLineNo">1947</span>      }<a name="line.1947"></a>
+<span class="sourceLineNo">1948</span>      if (!writestate.flushing) return true;<a name="line.1948"></a>
+<span class="sourceLineNo">1949</span>      long start = EnvironmentEdgeManager.currentTime();<a name="line.1949"></a>
+<span class="sourceLineNo">1950</span>      long duration = 0;<a name="line.1950"></a>
+<span class="sourceLineNo">1951</span>      boolean interrupted = false;<a name="line.1951"></a>
+<span class="sourceLineNo">1952</span>      LOG.debug("waiting for cache flush to complete for region " + this);<a name="line.1952"></a>
+<span class="sourceLineNo">1953</span>      try {<a name="line.1953"></a>
+<span class="sourceLineNo">1954</span>        while (writestate.flushing) {<a name="line.1954"></a>
+<span class="sourceLineNo">1955</span>          if (timeout &gt; 0 &amp;&amp; duration &gt;= timeout) break;<a name="line.1955"></a>
+<span class="sourceLineNo">1956</span>          try {<a name="line.1956"></a>
+<span class="sourceLineNo">1957</span>            long toWait = timeout == 0 ? 0 : (timeout - duration);<a name="line.1957"></a>
+<span class="sourceLineNo">1958</span>            writestate.wait(toWait);<a name="line.1958"></a>
+<span class="sourceLineNo">1959</span>          } catch (InterruptedException iex) {<a name="line.1959"></a>
+<span class="sourceLineNo">1960</span>            // essentially ignore and propagate the interrupt back up<a name="line.1960"></a>
+<span class="sourceLineNo">1961</span>            LOG.warn("Interrupted while waiting in region {}", this);<a name="line.1961"></a>
+<span class="sourceLineNo">1962</span>            interrupted = true;<a name="line.1962"></a>
+<span class="sourceLineNo">1963</span>            break;<a name="line.1963"></a>
+<span class="sourceLineNo">1964</span>          } finally {<a name="line.1964"></a>
+<span class="sourceLineNo">1965</span>            duration = EnvironmentEdgeManager.currentTime() - start;<a name="line.1965"></a>
+<span class="sourceLineNo">1966</span>          }<a name="line.1966"></a>
+<span class="sourceLineNo">1967</span>        }<a name="line.1967"></a>
+<span class="sourceLineNo">1968</span>      } finally {<a name="line.1968"></a>
+<span class="sourceLineNo">1969</span>        if (interrupted) {<a name="line.1969"></a>
+<span class="sourceLineNo">1970</span>          Thread.currentThread().interrupt();<a name="line.1970"></a>
+<span class="sourceLineNo">1971</span>        }<a name="line.1971"></a>
+<span class="sourceLineNo">1972</span>      }<a name="line.1972"></a>
+<span class="sourceLineNo">1973</span>      LOG.debug("Waited {} ms for region {} flush to complete", duration, this);<a name="line.1973"></a>
+<span class="sourceLineNo">1974</span>      return !(writestate.flushing);<a name="line.1974"></a>
+<span class="sourceLineNo">1975</span>    }<a name="line.1975"></a>
+<span class="sourceLineNo">1976</span>  }<a name="line.1976"></a>
+<span class="sourceLineNo">1977</span><a name="line.1977"></a>
+<span class="sourceLineNo">1978</span>  @Override<a name="line.1978"></a>
+<span class="sourceLineNo">1979</span>  public Configuration getReadOnlyConfiguration() {<a name="line.1979"></a>
+<span class="sourceLineNo">1980</span>    return new ReadOnlyConfiguration(this.conf);<a name="line.1980"></a>
+<span class="sourceLineNo">1981</span>  }<a name="line.1981"></a>
+<span class="sourceLineNo">1982</span><a name="line.1982"></a>
+<span class="sourceLineNo">1983</span>  private ThreadPoolExecutor getStoreOpenAndCloseThreadPool(final String threadNamePrefix) {<a name="line.1983"></a>
+<span class="sourceLineNo">1984</span>    int numStores = Math.max(1, this.htableDescriptor.getColumnFamilyCount());<a name="line.1984"></a>
+<span class="sourceLineNo">1985</span>    int maxThreads = Math.min(numStores, conf.getInt(HConstants.HSTORE_OPEN_AND_CLOSE_THREADS_MAX,<a name="line.1985"></a>
+<span class="sourceLineNo">1986</span>      HConstants.DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX));<a name="line.1986"></a>
+<span class="sourceLineNo">1987</span>    return getOpenAndCloseThreadPool(maxThreads, threadNamePrefix);<a name="line.1987"></a>
+<span class="sourceLineNo">1988</span>  }<a name="line.1988"></a>
+<span class="sourceLineNo">1989</span><a name="line.1989"></a>
+<span class="sourceLineNo">1990</span>  ThreadPoolExecutor getStoreFileOpenAndCloseThreadPool(final String threadNamePrefix) {<a name="line.1990"></a>
+<span class="sourceLineNo">1991</span>    int numStores = Math.max(1, this.htableDescriptor.getColumnFamilyCount());<a name="line.1991"></a>
+<span class="sourceLineNo">1992</span>    int maxThreads = Math.max(1, conf.getInt(HConstants.HSTORE_OPEN_AND_CLOSE_THREADS_MAX,<a name="line.1992"></a>
+<span class="sourceLineNo">1993</span>      HConstants.DEFAULT_HSTORE_OPEN_AND_CLOSE_THREADS_MAX) / numStores);<a name="line.1993"></a>
+<span class="sourceLineNo">1994</span>    return getOpenAndCloseThreadPool(maxThreads, threadNamePrefix);<a name="line.1994"></a>
+<span class="sourceLineNo">1995</span>  }<a name="line.1995"></a>
+<span class="sourceLineNo">1996</span><a name="line.1996"></a>
+<span class="sourceLineNo">1997</span>  private static ThreadPoolExecutor getOpenAndCloseThreadPool(int maxThreads,<a name="line.1997"></a>
+<span class="sourceLineNo">1998</span>    final String threadNamePrefix) {<a name="line.1998"></a>
+<span class="sourceLineNo">1999</span>    return Threads.getBoundedCachedThreadPool(maxThreads, 30L, TimeUnit.SECONDS,<a name="line.1999"></a>
+<span class="sourceLineNo">2000</span>      new ThreadFactory() {<a name="line.2000"></a>
+<span class="sourceLineNo">2001</span>        private int count = 1;<a name="line.2001"></a>
+<span class="sourceLineNo">2002</span><a name="line.2002"></a>
+<span class="sourceLineNo">2003</span>        @Override<a name="line.2003"></a>
+<span class="sourceLineNo">2004</span>        public Thread newThread(Runnable r) {<a name="line.2004"></a>
+<span class="sourceLineNo">2005</span>          return new Thread(r, threadNamePrefix + "-" + count++);<a name="line.2005"></a>
+<span class="sourceLineNo">2006</span>        }<a name="line.2006"></a>
+<span class="sourceLineNo">2007</span>      });<a name="line.2007"></a>
+<span class="sourceLineNo">2008</span>  }<a name="line.2008"></a>
+<span class="sourceLineNo">2009</span><a name="line.2009"></a>
+<span class="sourceLineNo">2010</span>  /** Returns True if its worth doing a flush before we put up the close flag. */<a name="line.2010"></a>
+<span class="sourceLineNo">2011</span>  private boolean worthPreFlushing() {<a name="line.2011"></a>
+<span class="sourceLineNo">2012</span>    return this.memStoreSizing.getDataSize()<a name="line.2012"></a>
+<span class="sourceLineNo">2013</span>        &gt; this.conf.getLong("hbase.hregion.preclose.flush.size", 1024 * 1024 * 5);<a name="line.2013"></a>
+<span class="sourceLineNo">2014</span>  }<a name="line.2014"></a>
+<span class="sourceLineNo">2015</span><a name="line.2015"></a>
 <span class="sourceLineNo">2016</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.2016"></a>
-<span class="sourceLineNo">2017</span><a name="line.2017"></a>
-<span class="sourceLineNo">2018</span>  @Override<a name="line.2018"></a>
-<span class="sourceLineNo">2019</span>  public TableDescriptor getTableDescriptor() {<a name="line.2019"></a>
-<span class="sourceLineNo">2020</span>    return this.htableDescriptor;<a name="line.2020"></a>
-<span class="sourceLineNo">2021</span>  }<a name="line.2021"></a>
-<span class="sourceLineNo">2022</span><a name="line.2022"></a>
-<span class="sourceLineNo">2023</span>  public void setTableDescriptor(TableDescriptor desc) {<a name="line.2023"></a>
-<span class="sourceLineNo">2024</span>    htableDescriptor = desc;<a name="line.2024"></a>
-<span class="sourceLineNo">2025</span>  }<a name="line.2025"></a>
-<span class="sourceLineNo">2026</span><a name="line.2026"></a>
-<span class="sourceLineNo">2027</span>  /** Returns WAL in use for this region */<a name="line.2027"></a>
-<span class="sourceLineNo">2028</span>  public WAL getWAL() {<a name="line.2028"></a>
-<span class="sourceLineNo">2029</span>    return this.wal;<a name="line.2029"></a>
-<span class="sourceLineNo">2030</span>  }<a name="line.2030"></a>
-<span class="sourceLineNo">2031</span><a name="line.2031"></a>
-<span class="sourceLineNo">2032</span>  public BlockCache getBlockCache() {<a name="line.2032"></a>
-<span class="sourceLineNo">2033</span>    return this.blockCache;<a name="line.2033"></a>
-<span class="sourceLineNo">2034</span>  }<a name="line.2034"></a>
-<span class="sourceLineNo">2035</span><a name="line.2035"></a>
-<span class="sourceLineNo">2036</span>  /**<a name="line.2036"></a>
-<span class="sourceLineNo">2037</span>   * Only used for unit test which doesn't start region server.<a name="line.2037"></a>
-<span class="sourceLineNo">2038</span>   */<a name="line.2038"></a>
-<span class="sourceLineNo">2039</span>  public void setBlockCache(BlockCache blockCache) {<a name="line.2039"></a>
-<span class="sourceLineNo">2040</span>    this.blockCache = blockCache;<a name="line.2040"></a>
-<span class="sourceLineNo">2041</span>  }<a name="line.2041"></a>
-<span class="sourceLineNo">2042</span><a name="line.2042"></a>
-<span class="sourceLineNo">2043</span>  public MobFileCache getMobFileCache() {<a name="line.2043"></a>
-<span class="sourceLineNo">2044</span>    return this.mobFileCache;<a name="line.2044"></a>
-<span class="sourceLineNo">2045</span>  }<a name="line.2045"></a>
-<span class="sourceLineNo">2046</span><a name="line.2046"></a>
-<span class="sourceLineNo">2047</span>  /**<a name="line.2047"></a>
-<span class="sourceLineNo">2048</span>   * Only used for unit test which doesn't start region server.<a name="line.2048"></a>
-<span class="sourceLineNo">2049</span>   */<a name="line.2049"></a>
-<span class="sourceLineNo">2050</span>  public void setMobFileCache(MobFileCache mobFileCache) {<a name="line.2050"></a>
-<span class="sourceLineNo">2051</span>    this.mobFileCache = mobFileCache;<a name="line.2051"></a>
-<span class="sourceLineNo">2052</span>  }<a name="line.2052"></a>
-<span class="sourceLineNo">2053</span><a name="line.2053"></a>
-<span class="sourceLineNo">2054</span>  /** Returns split policy for this region. */<a name="line.2054"></a>
-<span class="sourceLineNo">2055</span>  RegionSplitPolicy getSplitPolicy() {<a name="line.2055"></a>
-<span class="sourceLineNo">2056</span>    return this.splitPolicy;<a name="line.2056"></a>
-<span class="sourceLineNo">2057</span>  }<a name="line.2057"></a>
-<span class="sourceLineNo">2058</span><a name="line.2058"></a>
-<span class="sourceLineNo">2059</span>  /**<a name="line.2059"></a>
-<span class="sourceLineNo">2060</span>   * A split takes the config from the parent region &amp; passes it to the daughter region's<a name="line.2060"></a>
-<span class="sourceLineNo">2061</span>   * constructor. If 'conf' was passed, you would end up using the HTD of the parent region in<a name="line.2061"></a>
-<span class="sourceLineNo">2062</span>   * addition to the new daughter HTD. Pass 'baseConf' to the daughter regions to avoid this tricky<a name="line.2062"></a>
-<span class="sourceLineNo">2063</span>   * dedupe problem.<a name="line.2063"></a>
-<span class="sourceLineNo">2064</span>   * @return Configuration object<a name="line.2064"></a>
-<span class="sourceLineNo">2065</span>   */<a name="line.2065"></a>
-<span class="sourceLineNo">2066</span>  Configuration getBaseConf() {<a name="line.2066"></a>
-<span class="sourceLineNo">2067</span>    return this.baseConf;<a name="line.2067"></a>
-<span class="sourceLineNo">2068</span>  }<a name="line.2068"></a>
-<span class="sourceLineNo">2069</span><a name="line.2069"></a>
-<span class="sourceLineNo">2070</span>  /** Returns {@link FileSystem} being used by this region */<a name="line.2070"></a>
-<span class="sourceLineNo">2071</span>  public FileSystem getFilesystem() {<a name="line.2071"></a>
-<span class="sourceLineNo">2072</span>    return fs.getFileSystem();<a name="line.2072"></a>
-<span class="sourceLineNo">2073</span>  }<a name="line.2073"></a>
-<span class="sourceLineNo">2074</span><a name="line.2074"></a>
-<span class="sourceLineNo">2075</span>  /** Returns the {@link HRegionFileSystem} used by this region */<a name="line.2075"></a>
-<span class="sourceLineNo">2076</span>  public HRegionFileSystem getRegionFileSystem() {<a name="line.2076"></a>
-<span class="sourceLineNo">2077</span>    return this.fs;<a name="line.2077"></a>
-<span class="sourceLineNo">2078</span>  }<a name="line.2078"></a>
-<span class="sourceLineNo">2079</span><a name="line.2079"></a>
-<span class="sourceLineNo">2080</span>  /** Returns the WAL {@link HRegionFileSystem} used by this region */<a name="line.2080"></a>
-<span class="sourceLineNo">2081</span>  HRegionWALFileSystem getRegionWALFileSystem() throws IOException {<a name="line.2081"></a>
-<span class="sourceLineNo">2082</span>    return new HRegionWALFileSystem(conf, getWalFileSystem(),<a name="line.2082"></a>
-<span class="sourceLineNo">2083</span>      CommonFSUtils.getWALTableDir(conf, htableDescriptor.getTableName()), fs.getRegionInfo());<a name="line.2083"></a>
-<span class="sourceLineNo">2084</span>  }<a name="line.2084"></a>
-<span class="sourceLineNo">2085</span><a name="line.2085"></a>
-<span class="sourceLineNo">2086</span>  /** Returns the WAL {@link FileSystem} being used by this region */<a name="line.2086"></a>
-<span class="sourceLineNo">2087</span>  FileSystem getWalFileSystem() throws IOException {<a name="line.2087"></a>
-<span class="sourceLineNo">2088</span>    if (walFS == null) {<a name="line.2088"></a>
-<span class="sourceLineNo">2089</span>      walFS = CommonFSUtils.getWALFileSystem(conf);<a name="line.2089"></a>
-<span class="sourceLineNo">2090</span>    }<a name="line.2090"></a>
-<span class="sourceLineNo">2091</span>    return walFS;<a name="line.2091"></a>
-<span class="sourceLineNo">2092</span>  }<a name="line.2092"></a>
-<span class="sourceLineNo">2093</span><a name="line.2093"></a>
-<span class="sourceLineNo">2094</span>  /**<a name="line.2094"></a>
-<span class="sourceLineNo">2095</span>   * @return the Region directory under WALRootDirectory<a name="line.2095"></a>
-<span class="sourceLineNo">2096</span>   * @throws IOException if there is an error getting WALRootDir<a name="line.2096"></a>
-<span class="sourceLineNo">2097</span>   */<a name="line.2097"></a>
-<span class="sourceLineNo">2098</span>  public Path getWALRegionDir() throws IOException {<a name="line.2098"></a>
-<span class="sourceLineNo">2099</span>    if (regionWalDir == null) {<a name="line.2099"></a>
-<span class="sourceLineNo">2100</span>      regionWalDir = CommonFSUtils.getWALRegionDir(conf, getRegionInfo().getTable(),<a name="line.2100"></a>
-<span class="sourceLineNo">2101</span>        getRegionInfo().getEncodedName());<a name="line.2101"></a>
-<span class="sourceLineNo">2102</span>    }<a name="line.2102"></a>
-<span class="sourceLineNo">2103</span>    return regionWalDir;<a name="line.2103"></a>
-<span class="sourceLineNo">2104</span>  }<a name="line.2104"></a>
-<span class="sourceLineNo">2105</span><a name="line.2105"></a>
-<span class="sourceLineNo">2106</span>  @Override<a name="line.2106"></a>
-<span class="sourceLineNo">2107</span>  public long getEarliestFlushTimeForAllStores() {<a name="line.2107"></a>
-<span class="sourceLineNo">2108</span>    return Collections.min(lastStoreFlushTimeMap.values());<a name="line.2108"></a>
-<span class="sourceLineNo">2109</span>  }<a name="line.2109"></a>
-<span class="sourceLineNo">2110</span><a name="line.2110"></a>
-<span class="sourceLineNo">2111</span>  @Override<a name="line.2111"></a>
-<span class="sourceLineNo">2112</span>  public long getOldestHfileTs(boolean majorCompactionOnly) throws IOException {<a name="line.2112"></a>
-<span class="sourceLineNo">2113</span>    long result = Long.MAX_VALUE;<a name="line.2113"></a>
-<span class="sourceLineNo">2114</span>    for (HStore store : stores.values()) {<a name="line.2114"></a>
-<span class="sourceLineNo">2115</span>      Collection&lt;HStoreFile&gt; storeFiles = store.getStorefiles();<a name="line.2115"></a>
-<span class="sourceLineNo">2116</span>      if (storeFiles == null) {<a name="line.2116"></a>
-<span class="sourceLineNo">2117</span>        continue;<a name="line.2117"></a>
-<span class="sourceLineNo">2118</span>      }<a name="line.2118"></a>
-<span class="sourceLineNo">2119</span>      for (HStoreFile file : storeFiles) {<a name="line.2119"></a>
-<span class="sourceLineNo">2120</span>        StoreFileReader sfReader = file.getReader();<a name="line.2120"></a>
-<span class="sourceLineNo">2121</span>        if (sfReader == null) {<a name="line.2121"></a>
-<span class="sourceLineNo">2122</span>          continue;<a name="line.2122"></a>
-<span class="sourceLineNo">2123</span>        }<a name="line.2123"></a>
-<span class="sourceLineNo">2124</span>        HFile.Reader reader = sfReader.getHFileReader();<a name="line.2124"></a>
-<span class="sourceLineNo">2125</span>        if (reader == null) {<a name="line.2125"></a>
-<span class="sourceLineNo">2126</span>          continue;<a name="line.2126"></a>
-<span class="sourceLineNo">2127</span>        }<a name="line.2127"></a>
-<span class="sourceLineNo">2128</span>        if (majorCompactionOnly) {<a name="line.2128"></a>
-<span class="sourceLineNo">2129</span>          byte[] val = reader.getHFileInfo().get(MAJOR_COMPACTION_KEY);<a name="line.2129"></a>
-<span class="sourceLineNo">2130</span>          if (val == null || !Bytes.toBoolean(val)) {<a name="line.2130"></a>
-<span class="sourceLineNo">2131</span>            continue;<a name="line.2131"></a>
-<span class="sourceLineNo">2132</span>          }<a name="line.2132"></a>
-<span class="sourceLineNo">2133</span>        }<a name="line.2133"></a>
-<span class="sourceLineNo">2134</span>        result = Math.min(result, reader.getFileContext().getFileCreateTime());<a name="line.2134"></a>
-<span class="sourceLineNo">2135</span>      }<a name="line.2135"></a>
-<span class="sourceLineNo">2136</span>    }<a name="line.2136"></a>
-<span class="sourceLineNo">2137</span>    return result == Long.MAX_VALUE ? 0 : result;<a name="line.2137"></a>
-<span class="sourceLineNo">2138</span>  }<a name="line.2138"></a>
-<span class="sourceLineNo">2139</span><a name="line.2139"></a>
-<span class="sourceLineNo">2140</span>  RegionLoad.Builder setCompleteSequenceId(RegionLoad.Builder regionLoadBldr) {<a name="line.2140"></a>
-<span class="sourceLineNo">2141</span>    long lastFlushOpSeqIdLocal = this.lastFlushOpSeqId;<a name="line.2141"></a>
-<span class="sourceLineNo">2142</span>    byte[] encodedRegionName = this.getRegionInfo().getEncodedNameAsBytes();<a name="line.2142"></a>
-<span class="sourceLineNo">2143</span>    regionLoadBldr.clearStoreCompleteSequenceId();<a name="line.2143"></a>
-<span class="sourceLineNo">2144</span>    for (byte[] familyName : this.stores.keySet()) {<a name="line.2144"></a>
-<span class="sourceLineNo">2145</span>      long earliest = this.wal.getEarliestMemStoreSeqNum(encodedRegionName, familyName);<a name="line.2145"></a>
-<span class="sourceLineNo">2146</span>      // Subtract - 1 to go earlier than the current oldest, unflushed edit in memstore; this will<a name="line.2146"></a>
-<span class="sourceLineNo">2147</span>      // give us a sequence id that is for sure flushed. We want edit replay to start after this<a name="line.2147"></a>
-<span class="sourceLineNo">2148</span>      // sequence id in this region. If NO_SEQNUM, use the regions maximum flush id.<a name="line.2148"></a>
-<span class="sourceLineNo">2149</span>      long csid = (earliest == HConstants.NO_SEQNUM) ? lastFlushOpSeqIdLocal : earliest - 1;<a name="line.2149"></a>
-<span class="sourceLineNo">2150</span>      regionLoadBldr.addStoreCompleteSequenceId(StoreSequenceId.newBuilder()<a name="line.2150"></a>
-<span class="sourceLineNo">2151</span>        .setFamilyName(UnsafeByteOperations.unsafeWrap(familyName)).setSequenceId(csid).build());<a name="line.2151"></a>
-<span class="sourceLineNo">2152</span>    }<a name="line.2152"></a>
-<span class="sourceLineNo">2153</span>    return regionLoadBldr.setCompleteSequenceId(getMaxFlushedSeqId());<a name="line.2153"></a>
-<span class="sourceLineNo">2154</span>  }<a name="line.2154"></a>
-<span class="sourceLineNo">2155</span><a name="line.2155"></a>
-<span class="sourceLineNo">2156</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.2156"></a>
-<span class="sourceLineNo">2157</span>  // HRegion maintenance.<a name="line.2157"></a>
-<span class="sourceLineNo">2158</span>  //<a name="line.2158"></a>
-<span class="sourceLineNo">2159</span>  // These methods are meant to be called periodically by the HRegionServer for<a name="line.2159"></a>
-<span class="sourceLineNo">2160</span>  // upkeep.<a name="line.2160"></a>
-<span class="sourceLineNo">2161</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.2161"></a>
-<span class="sourceLineNo">2162</span>  /**<a name="line.2162"></a>
-<span class="sourceLineNo">2163</span>   * Do preparation for pending compaction.<a name="line.2163"></a>
-<span class="sourceLineNo">2164</span>   */<a name="line.2164"></a>
-<span class="sourceLineNo">2165</span>  protected void doRegionCompactionPrep() throws IOException {<a name="line.2165"></a>
-<span class="sourceLineNo">2166</span>  }<a name="line.2166"></a>
-<span class="sourceLineNo">2167</span><a name="line.2167"></a>
-<span class="sourceLineNo">2168</span>  /**<a name="line.2168"></a>
-<span class="sourceLineNo">2169</span>   * Synchronously compact all stores in the region.<a name="line.2169"></a>
-<span class="sourceLineNo">2170</span>   * &lt;p&gt;<a name="line.2170"></a>
-<span class="sourceLineNo">2171</span>   * This operation could block for a long time, so don't call it from a time-sensitive thread.<a name="line.2171"></a>
+<span class="sourceLineNo">2017</span>  // HRegion accessors<a name="line.2017"></a>
+<span class="sourceLineNo">2018</span>  //////////////////////////////////////////////////////////////////////////////<a name="line.2018"></a>
+<span class="sourceLineNo">2019</span><a name="line.2019"></a>
+<span class="sourceLineNo">2020</span>  @Override<a name="line.2020"></a>
+<span class="sourceLineNo">2021</span>  public TableDescriptor getTableDescriptor() {<a name="line.2021"></a>
+<span class="sourceLineNo">2022</span>    return this.htableDescriptor;<a name="line.2022"></a>
+<span class="sourceLineNo">2023</span>  }<a name="line.2023"></a>
+<span class="sourceLineNo">2024</span><a name="line.2024"></a>
+<span class="sourceLineNo">2025</span>  public void setTableDescriptor(TableDescriptor desc) {<a name="line.2025"></a>
+<span class="sourceLineNo">2026</span>    htableDescriptor = desc;<a name="line.2026"></a>
+<span class="sourceLineNo">2027</span>  }<a name="line.2027"></a>
+<span class="sourceLineNo">2028</span><a name="line.2028"></a>
+<span class="sourceLineNo">2029</span>  /** Returns WAL in use for this region */<a name="line.2029"></a>
+<span class="sourceLineNo">2030</span>  public WAL getWAL() {<a name="line.2030"></a>
+<span class="sourceLineNo">2031</span>    return this.wal;<a name="line.2031"></a>
+<span class="sourceLineNo">2032</span>  }<a name="line.2032"></a>
+<span class="sourceLineNo">2033</span><a name="line.2033"></a>
+<span class="sourceLineNo">2034</span>  public BlockCache getBlockCache() {<a name="line.2034"></a>
+<span class="sourceLineNo">2035</span>    return this.blockCache;<a name="line.2035"></a>
+<span class="sourceLineNo">2036</span>  }<a name="line.2036"></a>
+<span class="sourceLineNo">2037</span><a name="line.2037"></a>
+<span class="sourceLineNo">2038</span>  /**<a name="line.2038"></a>
+<span class="sourceLineNo">2039</span>   * Only used for unit test which doesn't start region server.<a name="line.2039"></a>
+<span class="sourceLineNo">2040</span>   */<a name="line.2040"></a>
+<span class="sourceLineNo">2041</span>  public void setBlockCache(BlockCache blockCache) {<a name="line.2041"></a>
+<span class="sourceLineNo">2042</span>    this.blockCache = blockCache;<a name="line.2042"></a>
+<span class="sourceLineNo">2043</span>  }<a name="line.2043"></a>
+<span class="sourceLineNo">2044</span><a name="line.2044"></a>
+<span class="sourceLineNo">2045</span>  public MobFileCache getMobFileCache() {<a name="line.2045"></a>
+<span class="sourceLineNo">2046</span>    return this.mobFileCache;<a name="line.2046"></a>
+<span class="sourceLineNo">2047</span>  }<a name="line.2047"></a>
+<span class="sourceLineNo">2048</span><a name="line.2048"></a>
+<span class="sourceLineNo">2049</span>  /**<a name="line.2049"></a>
+<span class="sourceLineNo">2050</span>   * Only used for unit test which doesn't start region server.<a name="line.2050"></a>
+<span class="sourceLineNo">2051</span>   */<a name="line.2051"></a>
+<span class="sourceLineNo">2052</span>  public void setMobFileCache(MobFileCache mobFileCache) {<a name="line.2052"></a>
+<span class="sourceLineNo">2053</span>    this.mobFileCache = mobFileCache;<a name="line.2053"></a>
+<span class="sourceLineNo">2054</span>  }<a name="line.2054"></a>
+<span class="sourceLineNo">2055</span><a name="line.2055"></a>
+<span class="sourceLineNo">2056</span>  /** Returns split policy for this region. */<a name="line.2056"></a>
+<span class="sourceLineNo">2057</span>  RegionSplitPolicy getSplitPolicy() {<a name="line.2057"></a>
+<span class="sourceLineNo">2058</span>    return this.splitPolicy;<a name="line.2058"></a>
+<span class="sourceLineNo">2059</span>  }<a name="line.2059"></a>
+<span class="sourceLineNo">2060</span><a name="line.2060"></a>
+<span class="sourceLineNo">2061</span>  /**<a name="line.2061"></a>
+<span class="sourceLineNo">2062</span>   * A split takes the config from the parent region &amp; passes it to the daughter region's<a name="line.2062"></a>
+<span class="sourceLineNo">2063</span>   * constructor. If 'conf' was passed, you would end up using the HTD of the parent region in<a name="line.2063"></a>
+<span class="sourceLineNo">2064</span>   * addition to the new daughter HTD. Pass 'baseConf' to the daughter regions to avoid this tricky<a name="line.2064"></a>
+<span class="sourceLineNo">2065</span>   * dedupe problem.<a name="line.2065"></a>
+<span class="sourceLineNo">2066</span>   * @return Configuration object<a name="line.2066"></a>
+<span class="sourceLineNo">2067</span>   */<a name="line.2067"></a>
+<span class="sourceLineNo">2068</span>  Configuration getBaseConf() {<a name="line.2068"></a>
+<span class="sourceLineNo">2069</span>    return this.baseConf;<a name="line.2069"></a>
+<span class="sourceLineNo">2070</span>  }<a name="line.2070"></a>
+<span class="sourceLineNo">2071</span><a name="line.2071"></a>
+<span class="sourceLineNo">2072</span>  /** Returns {@link FileSystem} being used by this region */<a name="line.2072"></a>
+<span class="sourceLineNo">2073</span>  public FileSystem getFilesystem() {<a name="line.2073"></a>
+<span class="sourceLineNo">2074</span>    return fs.getFileSystem();<a name="line.2074"></a>
+<span class="sourceLineNo">2075</span>  }<a name="line.2075"></a>
+<span class="sourceLineNo">2076</span><a name="line.2076"></a>
+<span class="sourceLineNo">2077</span>  /** Returns the {@link HRegionFileSystem} used by this region */<a name="line.2077"></a>
+<span class="sourceLineNo">2078</span>  public HRegionFileSystem getRegionFileSystem() {<a name="line.2078"></a>
... 224539 lines suppressed ...